PDA

Показать полную графическую версию : C/C++ | Передача параметров через консоль


Mad Mouse
08-03-2006, 13:25
Собственно проблема заключается в селдующем - необходимо чтобы при вызове вроде:
C:\program.exe abcdef
в программе создавалась переменная содержащая строку "abcdef".
И ещё один вопрос - будет ли эта программа одновременно работать для DOS'а и Linux систем? Если нет то хотелось бы понять как её писать для каждого варианта.
Если несложно, напишите пожалуйста вариант кода.

Заранее спасибо.

ivank
08-03-2006, 16:36
До какого места книжку по C(++) дочитали?

#include <stdio.h>

int main(int argc, char **argv)
{
int i;
for (i = 0; i < argc; ++i)
printf("%d - %s\n", i, argv[i]);
return 0;
}

Откомпилируйте, попробуйте позапускать с разными параметрами.

Mad Mouse
08-03-2006, 22:01
Спасибо большое, все заработало.
Только вот я не понял: первым параметром обязательно должно быть целое число? Просто в других случаях программа выдает ошибку при попытке выполнения...

ivank
09-03-2006, 02:45
Mad Mouse
Невнимательно пример изучили. Первый параметр функции main - количество аргументов программы. Второй - массив данного размера с парметрами. Для программы все параметры - char*. Если требуется что-то другое - переводите ручками, функции для этого есть соответствующие.

Mad Mouse
09-03-2006, 16:34
Все, теперь понял.
Вопрос окончательно решен, спасибо за помощь.

ЗЫ. к слову - ос как оказалось значения не имеет.




© OSzone.net 2001-2012