Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/47: Рейтинг темы: голосов - 47, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 26.12.2015
Сообщений: 92
1

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

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

Author24 — интернет-сервис помощи студентам
В файле записана непустая последовательность целых
чисел. Нужно открыть файл на чтение, НО имя файла задается в командной строке.
Подскажите, пожалуйста, как это сделать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2016, 09:39
Ответы с готовыми решениями:

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

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

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

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

4
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
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
1 / 1 / 1
Регистрация: 26.12.2015
Сообщений: 92
10.11.2016, 11:14  [ТС] 3
а что такое здесь ac? что -то никак не пойму, объясните пожалуйста
0
131 / 131 / 157
Регистрация: 11.04.2015
Сообщений: 343
10.11.2016, 11:23 4
параметр int ac содержит количество параметров командной строки плюс один,

чаще встречается такая запись
C
1
 int main(int argc, char **argv)
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2016, 11:36
Помогаю со студенческими работами здесь

CreateFile - открыть файл, получив имя из командной строки
Здравствуйте! Я только начал программировать на WinAPI, поэтому пока не могу разобраться со...

Как прочитать файл, имя которого задано в параметрах командной строки?
Всем привет, кто-нибудь знает, как прочитать файл, имя которого задано в параметрах командной...

Ввод с клавиатуры содержимого текстового файла, имя которого задается в командной строке, используя системные вызовы и в
ПОМОГИТЕ ПОЖАЛУЙСТА Ввод с клавиатуры содержимого текстового файла, имя которого задается в...

Ввод с клавиатуры содержимого текстового файла, имя которого задается в командной строке, используя системные вызовы
ПОМОГИТЕ, ПОЖАЛУЙСТА, ПОНЯТЬ. У МЕНЯ ЕСТЬ ЗАДАЧА "Ввод с клавиатуры содержимого текстового файла,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru