Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Infer57
1 / 1 / 1
Регистрация: 26.12.2015
Сообщений: 92
1

Открыть файл, имя которого задается из командной строки

10.11.2016, 09:39. Просмотров 649. Ответов 4
Метки нет (Все метки)

В файле записана непустая последовательность целых
чисел. Нужно открыть файл на чтение, НО имя файла задается в командной строке.
Подскажите, пожалуйста, как это сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2016, 09:39
Ответы с готовыми решениями:

Имя файла как аргумент командной строки
Здравствуйте! Программа получает имя файла как аргумент командной строки,...

Как открыть файл, если имя файла является переменной
Как открыть файл, имя которого задается в процессе выполнения программы?

Файл как параметр командной строки
Помогите пожалуйста исправить ошибку и запилить название файда как параметр...

Дать на вход программе файл через аргументы командной строки
Как реализовать в Visual Studio две вещи 1)Дать на вход программе файл...

Копирование файла, если имя старого и нового файлов передается в командной строке
..помогите. даже не знаю с чего начать...лаба по ос..работаем в putty..а...

4
Байт
Эксперт C
18318 / 12029 / 2506
Регистрация: 24.12.2010
Сообщений: 24,293
10.11.2016, 10:41 2
i
C
1
2
3
4
5
6
7
8
nt main(int ac, char *av[])
{ char *nameFile;
  if (ac > 1) nameFile = av[1];
  else {
    printf("Не задано имя файла");
    return 1;
  }
  FILE *f = fopen(nameFile, "r");
0
Infer57
1 / 1 / 1
Регистрация: 26.12.2015
Сообщений: 92
10.11.2016, 11:14  [ТС] 3
а что такое здесь ac? что -то никак не пойму, объясните пожалуйста
0
andreyka93
128 / 128 / 157
Регистрация: 11.04.2015
Сообщений: 343
10.11.2016, 11:23 4
параметр int ac содержит количество параметров командной строки плюс один,

чаще встречается такая запись
C
1
 int main(int argc, char **argv)
0
Байт
Эксперт C
18318 / 12029 / 2506
Регистрация: 24.12.2010
Сообщений: 24,293
10.11.2016, 11:36 5
Когда вы набираете командную строку
прога a1 a2
в функцию main передается 2 параметра. Первый - целое число - количество аргументов + 1. Второй - список параметров. В данном случае ac = 3, av = { "прога", "a1", "a2" } (1-й параметр всегда набранное вами имя программы)
Таково соглашение.
Обычно в программе эти параметры обозначаются как int _argc, char *_argv[]. Но выбор имен для них не имеет никакого значения.
Если вы вызываете программу из командной строки как "прога", то первый параметр (у меня ac) имеет значение 1. То есть имя файла не задано и программа в растерянности.

Добавлено через 4 минуты
Если вы мне не верите, то вот
http://www.c-cpp.ru/books/argumenty-funkcii-main
Там написано про Борланд, но в самом деле эти соглашения действуют почти для всех современных ОС
1
10.11.2016, 11:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2016, 11:36

Открыть файл, имя которого задается из командной строки
Проблема в том, чтобы открыть файл, имя которого пользователь впечатывает в...

Открыть файл, имя которого задается с клавиатуры. Посчитать количество байт в этом файле. Первую половину прочитанного файла записать в другой файл.
ребят помогите! плиз!!1. Открыть файл, имя которого задается с клавиатуры....

Лабораторная работа номер 5 задание 1! Открыть файл, имя которого задается с клавиатуры. Посчитать и вывести на эк-ран количество байт в этом файле
Лабораторная работа номер 5 задание 1!!!! Открыть файл, имя которого задается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru