Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Получение параметров из командной строки


Автор: Nostalgia 17.10.2010, 23:27
Доброго времени суток!
моя прога-калькулятор во вложениях. проблема в том что нужно сделать так чтоб первое значение нужно вытаскивать из argv[1], а второе из argv[2]. Подскажите как это реализовать, я новичек, очень долго разбираюсь, а прогу нужна на завтра..

Автор: Cheloveck 17.10.2010, 23:48
Код

#include <stdio.h>
#include <stdlib.h>

void func(float a, float b)
{
    printf("a = %f, b = %f\n", a, b);
}

int main(int argc, char ** argv)
{
    float one, two;
    
    if(argc < 3)
    {
        printf("Too few arguments\n");
        return 1;
    }
    
    one = (float)atof(argv[1]);
    two = (float)atof(argv[2]);
    func(one, two);
    
    return 0;
}


Цитата

Правила форума, которые ВСЕ обязаны соблюдать:

    * Заголовок сообщения должен кратко отражать суть проблемы, нельзя давать заголовки типа «Помогите», «Срочно нужна помощь», «Есть вопрос», «Очень надо», «Сложный вопрос по программированию» и тому подобное.

Автор: Nostalgia 17.10.2010, 23:54
так назвала чтоб не пугались сразу.. + это прога с Make-файлом)

Автор: Cheloveck 17.10.2010, 23:56
 smile 
Nostalgia,  да половина прог с мейкфайлом. Назвать надо было "Аргументы командной строки" или что-то вроде того.

Автор: Nostalgia 17.10.2010, 23:57
прога выдала много ошибок(( гляньте пожалуйста((
[nostalgia@localhost mylab2]$ make
cc    -c -o calc.o calc.c
cc    -c -o sum.o sum.c
gcc -o fcalcsum calc.o sum.o
sum.o: In function `func':
sum.c:(.text+0x0): multiple definition of `func'
calc.o:calc.c:(.text+0x0): first defined here
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [fcalcsum] Ошибка 1

Добавлено через 1 минуту и 46 секунд
Цитата(Cheloveck @ 17.10.2010,  23:56)
smile 
Nostalgia,  да половина прог с мейкфайлом. Назвать надо было "Аргументы командной строки" или что-то вроде того.

Извините, впредь я не буду ставить такие темы.

Автор: Cheloveck 17.10.2010, 23:59
Цитата(Nostalgia @  17.10.2010,  23:57 Найти цитируемый пост)
прога выдала много ошибок

может головой подумаешь? не копируй всё подряд. я функцию объявил просто для примера

Добавлено через 8 минут и 5 секунд
Так всё работает

Автор: Nostalgia 18.10.2010, 00:17
как посчитать сумму ? 
я пробую так
./falcsum 1 2
или как то иначе ?

стоп , это ж тот вариант который и был..
нужно чтобы значения брались из argv1 argv2

Автор: Cheloveck 18.10.2010, 00:21
извеняюсь, не тот файл приаттачел

Автор: Nostalgia 18.10.2010, 00:35
Спасибо огромное  smile . Реально выручили .

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)