2015-12-02 2 views
0

Итак, я делаю связь между сервером и клиентом на C. У меня возникают проблемы с поиском в Интернете, как это сделать.C - Запустить программу с такими параметрами, как ./prog -p 8888

./server -p 1234 
./client -p 1234 -h asdffdsasdf 

Может кто-то описать основы делает его внутри проекта или он включен в Makefile ?? (с помощью Putty терминала).

Или покажите мне сайт, на котором это объясняется очень хорошо, потому что я не знаю, что для Google для этого.

Большое спасибо!

+0

Не совсем уверен, что вы просите. Но ответом может быть './server -p 1234 & ./client -p 1234 -h asdffdsasdf', который запускает их одновременно. Без окон. – greggo

+0

Нет, я спрашиваю о том, что мне нужно для этого. Я могу запустить его с параметрами, как мне это создать. Теперь я могу открыть 2x замазки и сделать ./server в одном из них, а затем ./ клиент в другом. И получите ответ от того, что я хочу. Но на данный момент есть фиксированный номер порта. Как-то я должен incorperate это так, что я буду делать ./server -p XXXX Так что мой сервер работает на порту XXXX, Для подключения к нему я должен сделать то же самое для клиента ./client -p XXXX So Я получаю правильный ответ. –

ответ

4

Необходимо использовать аргументы запуска программы; см. Standard 5.1.2.2.1.

Например

#include <string.h> 
int main(int argc, char **argv) { 
    if (argc >= 2) { 
     if (strcmp(argv[1], "-p") == 0) /* -p detected */; 
    } 
    return 0; 
} 

TLDR: просто прочитать название

+0

Это также будет работать с несколькими параметрами? даже если бы у меня был список из 5 разных? Спасибо! –

+0

Да, он работает с тем, сколько параметров вам нужно. Просто проверьте 'argc' перед доступом к' argv'. – pmg

+0

Чемпион !!! спасибо –

Смежные вопросы