Loading...
Pavelgg avatar Pavelgg 1 Точки

int main с два аргумента : int main(int argc,char *argv[])

При компилиране на кода ми излиза винаги argc==1 и следователно още от първата проверка при IF и изпълнението прнезнам дали е правилно ,не разбирам дори как да добавям символи.

#include<iostream>

#include<fstream>

using namespace std;

int main(int argc,char *argv{}){

if(argc!=2){

cout<<"Usage: WRITE<filename>\n";

return 1;

}

ofstream out(argv[1]);

if(!out){

cout<<"Cannot open output file.\n";

return 1;

}

char str[80];

cout<<"Write string to disk, '$' to stop\n";

do{

cout<<": ";

cin>>str;

cout<<str<<endl;

}while(*str!='$');

out.close();

return 0;

}

 

Тагове:
0
C++ Programming
kolioi avatar kolioi 641 Точки

argc е броя на параметрите, а първия параметър е името на програмата - пълния път до изпълнимия файл. Функцията main() може да има и трети параметър, който е пойнтер към масив от environment variables.

int main(int argc, char** argv, char** envp)

 

0
Pavelgg avatar Pavelgg 1 Точки

Благодаря, а как да продължа да въвеждам параметри в даденият случай.

0
kolioi avatar kolioi 641 Точки

Доколкото виждам, името на програмата ти е write и трябва да я стартираш така: write filename. Ако я стартираш без параметри, по подразбиране argc е 1 и това е името на програмата. На теб ти трябва да укажеш и втори параметър - името на файла в който ще записваш текст. Само че така както си го написал, май няма да се получи, защото ще извежда всичко на екрана със cout.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.