Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу Запуск программы из командной строки.
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Stalk200 Stalk200 вне форума
Member
 
Сообщений: 77
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2004
По умолчанию Запуск программы из командной строки. - 31.01.2005, 18:26

Есть программа на С++ для обработки файла. Т.е. при запуске программы она открывает этот файл и начинает его обработку. Для этого в теле программы приходится указывать имя файла или путь к этому файлу. Это неудобно, т.к. файлы для обработки могут иметь разные имена. Но можно ли сделать так, чтобы программа обращалась к тому файлу, который указан вместе с ней в командной строке:
proga.exe file_dlya_obrabotki.txt <enter> ?
Говорят, что, вроде как, можно, но придется поработать с функцией main(), а точнее с ее аргументами. Может ли кто поделиться кодом для этого?
Ответить с цитированием
  (#2 (permalink)) Старый
Stalk200 Stalk200 вне форума
Member
 
Сообщений: 77
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2004
По умолчанию Запуск программы из командной строки. - 31.01.2005, 18:26

Есть программа на С++ для обработки файла. Т.е. при запуске программы она открывает этот файл и начинает его обработку. Для этого в теле программы приходится указывать имя файла или путь к этому файлу. Это неудобно, т.к. файлы для обработки могут иметь разные имена. Но можно ли сделать так, чтобы программа обращалась к тому файлу, который указан вместе с ней в командной строке:
proga.exe file_dlya_obrabotki.txt <enter> ?
Говорят, что, вроде как, можно, но придется поработать с функцией main(), а точнее с ее аргументами. Может ли кто поделиться кодом для этого?
Ответить с цитированием
  (#3 (permalink)) Старый
Stalk200 Stalk200 вне форума
Member
 
Сообщений: 77
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2004
По умолчанию Запуск программы из командной строки. - 31.01.2005, 18:26

Есть программа на С++ для обработки файла. Т.е. при запуске программы она открывает этот файл и начинает его обработку. Для этого в теле программы приходится указывать имя файла или путь к этому файлу. Это неудобно, т.к. файлы для обработки могут иметь разные имена. Но можно ли сделать так, чтобы программа обращалась к тому файлу, который указан вместе с ней в командной строке:
proga.exe file_dlya_obrabotki.txt <enter> ?
Говорят, что, вроде как, можно, но придется поработать с функцией main(), а точнее с ее аргументами. Может ли кто поделиться кодом для этого?
Ответить с цитированием
  (#4 (permalink)) Старый
Stalk200 Stalk200 вне форума
Member
 
Сообщений: 77
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2004
По умолчанию Запуск программы из командной строки. - 31.01.2005, 18:26

Есть программа на С++ для обработки файла. Т.е. при запуске программы она открывает этот файл и начинает его обработку. Для этого в теле программы приходится указывать имя файла или путь к этому файлу. Это неудобно, т.к. файлы для обработки могут иметь разные имена. Но можно ли сделать так, чтобы программа обращалась к тому файлу, который указан вместе с ней в командной строке:
proga.exe file_dlya_obrabotki.txt <enter> ?
Говорят, что, вроде как, можно, но придется поработать с функцией main(), а точнее с ее аргументами. Может ли кто поделиться кодом для этого?
Ответить с цитированием
  (#5 (permalink)) Старый
krutoj_pablo krutoj_pablo вне форума
Member
 
Сообщений: 150
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2005
По умолчанию 31.01.2005, 23:31

Сам точно не помню, но примерно объяснить попробую.
Короче говоря напиши вместо main(), main(int argc, char *argv[]). Это и есть параметры командной строки.
Далее если хочеш создать файл, то вместо явного его указания названия файла укажи: argv[1]. Параметр argc - это длина командной строки, но я могу ошибатся, втотой же это как раз то, что надо. Но указывать надо именно 1 а не 0, 0 показывает название вашей проги. Этими параметрами можно манипулировать как вам угодно.
Удачи.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
krutoj_pablo krutoj_pablo вне форума
Member
 
Сообщений: 150
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2005
По умолчанию 31.01.2005, 23:31

Сам точно не помню, но примерно объяснить попробую.
Короче говоря напиши вместо main(), main(int argc, char *argv[]). Это и есть параметры командной строки.
Далее если хочеш создать файл, то вместо явного его указания названия файла укажи: argv[1]. Параметр argc - это длина командной строки, но я могу ошибатся, втотой же это как раз то, что надо. Но указывать надо именно 1 а не 0, 0 показывает название вашей проги. Этими параметрами можно манипулировать как вам угодно.
Удачи.
Ответить с цитированием
  (#7 (permalink)) Старый
krutoj_pablo krutoj_pablo вне форума
Member
 
Сообщений: 150
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2005
По умолчанию 31.01.2005, 23:31

Сам точно не помню, но примерно объяснить попробую.
Короче говоря напиши вместо main(), main(int argc, char *argv[]). Это и есть параметры командной строки.
Далее если хочеш создать файл, то вместо явного его указания названия файла укажи: argv[1]. Параметр argc - это длина командной строки, но я могу ошибатся, втотой же это как раз то, что надо. Но указывать надо именно 1 а не 0, 0 показывает название вашей проги. Этими параметрами можно манипулировать как вам угодно.
Удачи.
Ответить с цитированием
  (#8 (permalink)) Старый
krutoj_pablo krutoj_pablo вне форума
Member
 
Сообщений: 150
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2005
По умолчанию 31.01.2005, 23:31

Сам точно не помню, но примерно объяснить попробую.
Короче говоря напиши вместо main(), main(int argc, char *argv[]). Это и есть параметры командной строки.
Далее если хочеш создать файл, то вместо явного его указания названия файла укажи: argv[1]. Параметр argc - это длина командной строки, но я могу ошибатся, втотой же это как раз то, что надо. Но указывать надо именно 1 а не 0, 0 показывает название вашей проги. Этими параметрами можно манипулировать как вам угодно.
Удачи.
Ответить с цитированием
  (#9 (permalink)) Старый
ssh ssh вне форума
Member
 
Сообщений: 245
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2004
По умолчанию 01.02.2005, 20:31

Подтверждаю --- Пабло не ошибся!
Ответить с цитированием
  (#10 (permalink)) Старый
ssh ssh вне форума
Member
 
Сообщений: 245
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2004
По умолчанию 01.02.2005, 20:31

Подтверждаю --- Пабло не ошибся!
Ответить с цитированием
  (#11 (permalink)) Старый
ssh ssh вне форума
Member
 
Сообщений: 245
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2004
По умолчанию 01.02.2005, 20:31

Подтверждаю --- Пабло не ошибся!
Ответить с цитированием
  (#12 (permalink)) Старый
ssh ssh вне форума
Member
 
Сообщений: 245
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2004
По умолчанию 01.02.2005, 20:31

Подтверждаю --- Пабло не ошибся!
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
Stalk200 Stalk200 вне форума
Member
 
Сообщений: 77
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2004
По умолчанию 02.02.2005, 16:34

Спасибо! Вы мне очень помогли. Теперь я разобрался с этим. Мне это было необходимо для того, чтобы в коде:

Код:
void main (int argc, char *argv[])
{ if (argc != 2) 
      { cout << "nThe program is not properly running!n";
         exit(1);
      }
   cout << argv[1];
}
Получаем имя файла, который будет обрабатываться программой. Проблема в том, что это имя файла я должен видоизменить, но для этого я должен получить доступ к содержимому, на что ссылается argv[1]. Иначе, можно ли имя этого файла в argv[1] раскидать по элементам другого массива. Если argv[1] ссылается на file.txt, то как сформировать массив new_file[], в котором new_file[0] == 'f' , new_file[1] == 'i' , new_file[2] == 'l' и т.д.
Ответить с цитированием
  (#14 (permalink)) Старый
Stalk200 Stalk200 вне форума
Member
 
Сообщений: 77
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2004
По умолчанию 02.02.2005, 16:34

Спасибо! Вы мне очень помогли. Теперь я разобрался с этим. Мне это было необходимо для того, чтобы в коде:

Код:
void main (int argc, char *argv[])
{ if (argc != 2) 
      { cout << "nThe program is not properly running!n";
         exit(1);
      }
   cout << argv[1];
}
Получаем имя файла, который будет обрабатываться программой. Проблема в том, что это имя файла я должен видоизменить, но для этого я должен получить доступ к содержимому, на что ссылается argv[1]. Иначе, можно ли имя этого файла в argv[1] раскидать по элементам другого массива. Если argv[1] ссылается на file.txt, то как сформировать массив new_file[], в котором new_file[0] == 'f' , new_file[1] == 'i' , new_file[2] == 'l' и т.д.
Ответить с цитированием
  (#15 (permalink)) Старый
Stalk200 Stalk200 вне форума
Member
 
Сообщений: 77
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2004
По умолчанию 02.02.2005, 16:34

Спасибо! Вы мне очень помогли. Теперь я разобрался с этим. Мне это было необходимо для того, чтобы в коде:

Код:
void main (int argc, char *argv[])
{ if (argc != 2) 
      { cout << "nThe program is not properly running!n";
         exit(1);
      }
   cout << argv[1];
}
Получаем имя файла, который будет обрабатываться программой. Проблема в том, что это имя файла я должен видоизменить, но для этого я должен получить доступ к содержимому, на что ссылается argv[1]. Иначе, можно ли имя этого файла в argv[1] раскидать по элементам другого массива. Если argv[1] ссылается на file.txt, то как сформировать массив new_file[], в котором new_file[0] == 'f' , new_file[1] == 'i' , new_file[2] == 'l' и т.д.
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод данных из командной строки на С++ Nathalie Вопросы начинающих программистов 4 25.11.2008 01:25
Запуск команд командной строки с помощью VBA snake-as Visual Basic 1 08.10.2008 08:09
Параметры командной строки из C# abadonna2007 .NET 0 13.08.2008 20:35
Как выделить имя файла из командной строки Shturmovuk Delphi 5 09.02.2008 23:06
Объясните про запуск из командной строки Виталик 1 Офтопик 19 23.01.2008 22:25
Как в из командной строки откомпилировать bpk-файл gso C++ Builder 1 19.01.2007 14:39
Запоздалое чтение с командной строки Skol С/С++ 4 21.07.2006 12:21
Компилятор из командной строки noirum С/С++ 6 02.12.2005 12:20
Как задать параметры командной строки konstantinus Delphi 4 29.08.2005 01:25
Программирование посредством командной строки Dmitris Visual C++ 7 05.01.2005 15:05
Вызов функций командной строки azzm Assembler 2 06.07.2004 13:19
Параметры командной строки GEV_256 Delphi 3 02.02.2004 09:48



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов