Показать полную графическую версию : C/C++ | Передача параметров через консоль
Mad Mouse
08-03-2006, 13:25
Собственно проблема заключается в селдующем - необходимо чтобы при вызове вроде:
C:\program.exe abcdef
в программе создавалась переменная содержащая строку "abcdef".
И ещё один вопрос - будет ли эта программа одновременно работать для DOS'а и Linux систем? Если нет то хотелось бы понять как её писать для каждого варианта.
Если несложно, напишите пожалуйста вариант кода.
Заранее спасибо.
До какого места книжку по 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
Спасибо большое, все заработало.
Только вот я не понял: первым параметром обязательно должно быть целое число? Просто в других случаях программа выдает ошибку при попытке выполнения...
Mad Mouse
Невнимательно пример изучили. Первый параметр функции main - количество аргументов программы. Второй - массив данного размера с парметрами. Для программы все параметры - char*. Если требуется что-то другое - переводите ручками, функции для этого есть соответствующие.
Mad Mouse
09-03-2006, 16:34
Все, теперь понял.
Вопрос окончательно решен, спасибо за помощь.
ЗЫ. к слову - ос как оказалось значения не имеет.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC