C/C++ | Передача параметров через консоль

Ответить
Аватара пользователя
Mad Mouse

C/C++ | Передача параметров через консоль

Сообщение Mad Mouse »

Собственно проблема заключается в селдующем - необходимо чтобы при вызове вроде:

C:\program.exe abcdef

в программе создавалась переменная содержащая строку "abcdef".

И ещё один вопрос - будет ли эта программа одновременно работать для DOS'а и Linux систем? Если нет то хотелось бы понять как её писать для каждого варианта.

Если несложно, напишите пожалуйста вариант кода.



Заранее спасибо.
Аватара пользователя
ivank

Re: C/C++ | Передача параметров через консоль

Сообщение ivank »

До какого места книжку по C(++) дочитали?





Код:

Код: Выделить всё

#include 
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

Re: C/C++ | Передача параметров через консоль

Сообщение Mad Mouse »

Спасибо большое, все заработало.

Только вот я не понял: первым параметром обязательно должно быть целое число? Просто в других случаях программа выдает ошибку при попытке выполнения...
Аватара пользователя
Mad Mouse

Re: C/C++ | Передача параметров через консоль

Сообщение Mad Mouse »

Mad Mouse

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

Re: C/C++ | Передача параметров через консоль

Сообщение ivank »

Все, теперь понял.

Вопрос окончательно решен, спасибо за помощь.



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

Вернуться в «Программирование и базы данных»