Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > запуск ЕХЕ с параметром


Автор: Opex 2.6.2004, 16:14
Как на Си написать прогу которая будет запускатся с параметром или как в Си передать данные из другой программы?
Я попробовал чтото не выходит
Код
#include <stdio.h>
void main(int x[9999])
{
FILE *file;
file =fopen("info.xml","w");
fprintf(file,"%s",x);
fclose(file);
}

Заране блогодарен smile.gif

Автор: boevik 2.6.2004, 16:53
Код
#include <stdio.h>
void main(int argc, char **argv)
{
FILE *file;
file =fopen("info.xml","w");
if (argc ==1)
  fprintf(file,"%s",argv[1]);
fclose(file);
}

Автор: v_ez 2.6.2004, 16:55
main такие параметры принимать может в виде таких вот аргументов - int argc, char* argv[]
argc - количество аргументов
argv - символьный массив самих аргументов

по умолчанию всегда один параметр уже есть - это имя программы

Автор: Opex 2.6.2004, 17:13
Что то у меня не выходит записать данные в info.xml пишу в ярлике экзешника строчку но она не записывается
Код
C:\C\TC\RECORD.EXE data

Автор: boevik 2.6.2004, 17:25
Небольшая ошибка закралась
Вместо
if (argc ==1)
надо писать
if (argc ==2)

Автор: Opex 2.6.2004, 17:33
Да все работает чень блогадарен но хочу спросить а почему пишется argv[1] мыже передоем не второй элемент строки а все

Автор: sergejzr 2.6.2004, 18:03
А ты попробуй распечатать argv[0] smile.gif
Это как раз название самой программы.

Т.е в твоём случае:
C:\C\TC\RECORD.EXE

Т.е пробелы делят строку на слова.
А слова - это строки из букв.

Автор: oleg1973 19.7.2004, 10:25
GetCommandLine из WINAPI
а потом ручками парсим строку


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)