Запросить у пользователя имя файла - C (СИ)
Формулировка задачи:
Помогите с кодом. Как написать программу чтобы в ней надо было прописывать вручную путь к файлу для открытия. Т.е. например у меня есть программа в ней уже открывается файл *txt cам. А мне нужно что я вручную открывал его т.е. прописывал. Помогите с кодом
Решение задачи: «Запросить у пользователя имя файла»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char* argv[]) {
FILE* in;
if ( argc > 1 ) {
in = fopen( argv[ 1 ], "rb" );
if ( in ) {
printf( "file %s isopen\n", argv[ 1 ] );
fclose( in );
}
else
//ошибка fopen
;
}
else
//нету аргументов
;
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Включаются необходимые заголовочные файлы:
stdio.hдля работы с потоками ввода-вывода (в том числе с функциями ввода и вывода);stdlib.hдля работы с генерацией случайных чисел и функциейatoi, которая преобразует строку в целое число.
- Создаётся новый поток для ввода из файла с помощью функции
fopen.- Переменная
inполучает дескриптор файла. - Если файл успешно открыт, выводится сообщение об этом.
- Дескриптор файла закрывается с помощью функции
fclose. - Если файл не удалось открыть, выполняется блок кода, помеченный как ошибка
fopen.
- Переменная
- Осуществляется проверка наличия аргументов в командной строке.
- Если аргументы есть (то есть пользователь передал имя файла при запуске программы), выполняется блок кода.
- Если аргументов нет (то есть пользователь не передал имя файла), выполняется другой блок кода.
- В конце программы возвращается 0, что означает успешный конец работы программы.