Работа с argv - C (СИ)
Формулировка задачи:
Добрый день. Такой вопрос:
Вот код:
через командную запускаю 3.exe lol
Выдает только "l" , и я НИКАААК не могу заставить командную прописать всё имя.. помогите, в чем проблема? уже кучу вариантов перепробовал... по идее же всё правильно.. но нет(
int _tmain(int argc,char* argv[]) { printf("Prived %s",argv[1]); return 0; }
Спасибо тем кто хоть посмотрел
Не знаю как удалить тему.. (( но вопрос уже решен..
Решение задачи: «Работа с argv»
textual
Листинг программы
int main(int argc,char* argv[]) { FILE *fin,* fout; if(argc!=3) { puts("There is some misstake, try again later..."); exit(1); } else { fin=fopen("argv[1]","r"); fout=fopen("argv[2]","w"); } fclose(fin); fclose(fout); return 0; }
Объяснение кода листинга программы
Инструкция начинается с объявления функции main, которая принимает два аргумента: int argc и char* argv[].
- if(argc!=3) — это условие, которое проверяет, что количество переданных аргументов (argc) не равно 3. Если это условие истинно, то программа выводит сообщение об ошибке и завершается с кодом 1.
- else — это блок кода, который выполняется, если условие в if-условии ложно.
- fin=fopen(
argv[1]
,r
); — это открытие файла с именемargv[1]
для чтения. Здесьargv[1]
— это первый аргумент, переданный в функцию main. - fout=fopen(
argv[2]
,w
); — это открытие файла с именемargv[2]
для записи. Здесьargv[2]
— это второй аргумент, переданный в функцию main. - fclose(fin); — это закрытие файла с именем
argv[1]
. - fclose(fout); — это закрытие файла с именем
argv[2]
. - return 0; — это завершение функции main. Вот список элементов кода в порядке их появления:
- int main(int argc,char* argv[])
- if(argc!=3)
- puts(
There is some misstake, try again later...
) - exit(1)
- else
- fin=fopen(
argv[1]
,r
) - fout=fopen(
argv[2]
,w
) - fclose(fin)
- fclose(fout)
- return 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д