Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   C/C++ | Передача параметров через консоль (http://forum.oszone.net/showthread.php?t=62380)

Mad Mouse 08-03-2006 13:25 415215

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

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

ivank 08-03-2006 16:36 415256

До какого места книжку по 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 415354

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

ivank 09-03-2006 02:45 415425

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

Mad Mouse 09-03-2006 16:34 415683

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

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


Время: 17:20.

Время: 17:20.
© OSzone.net 2001-