1

Тема: Ввід вхідних параметрів

a.out - скомпільований файл на C++
Є один вхідний стрічковий параметр,
хочу його використовувати зразу при запуску коду:
./a.out param
Як в коді описати зчитування цього параметру?
Пробував

std::cin >> param;


але в такому разі після запуску  ./a.out param все одно доводиться набирати параметер param в консолі і клікати ентер. Як зробити, щоб він зчитувався при такій конфігурації як ./a.out param

2 Востаннє редагувалося 0xDADA11C7 (25.11.2014 00:45:06)

Re: Ввід вхідних параметрів

прочитайте докладніше про це

int main( int argc, const char* argv[] )

argc - кількість параметрів, а argv[] - масив стрічкових параметрів

https://wwwx.cs.unc.edu/~sparkst/howto/cpp_main.php

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: dialectstat, koala2

3

Re: Ввід вхідних параметрів

Ні, не присвоює, воно значення вхідного параметру.

int main(  int argc, const char* argv[] )
{
string x0;
x0 = atoi( argv[1] );

cout<<x0<<endl;
}

при запуску
./myprogram "kljljlkl"
вхідна змінна x0 залишається порожня

4 Востаннє редагувалося 0xDADA11C7 (25.11.2014 01:19:58)

Re: Ввід вхідних параметрів

Я таких "вумних" помилок у коді ще не бачив. argv[1] - стрічка(не класс string), a простий рядок байт, що нулем кінчається. функція atoi перетворює стрічку на число. Що це за число таке "kljljlkl" ?

string x0;

Чом би об’єктові класу string не присвоїти числа?

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

5

Re: Ввід вхідних параметрів

0xDADA11C7 написав:

функція atoi перетворює стрічку на число.

А, ось де була помилка, тепер все працює, велике дякую!

6

Re: Ввід вхідних параметрів

Якщо треба щось серйозніше ніж просто перевірити як воно робить то є така штука як Getopt правда вона під Лінух.
Хоча є й порт на Вікна XGetopt

Maybe a = Just a | Nothing

7

Re: Ввід вхідних параметрів

0x9111A написав:

Якщо треба щось серйозніше ніж просто перевірити як воно робить то є така штука як Getopt правда вона під Лінух.
Хоча є й порт на Вікна XGetopt

Дякую, я на Лінуксі. А що ця програма робить?

8

Re: Ввід вхідних параметрів

dialectstat написав:

Дякую, я на Лінуксі. А що ця програма робить?

Спрощує обробку вхідних параметрів.
Почитайте приклади

Maybe a = Just a | Nothing