2015-12-02 49 views
0

所以我在服务器和客户端之间进行通讯。我在网上搜索它时遇到了问题,请执行以下操作。C - 使用参数运行程序,例如./prog -p 8888

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

可有人形容做的项目中的基础知识或者是包含在Makefile ??(使用腻子终端)。

或者告诉我一个网站,它很好地解释,因为我不知道这是什么谷歌。

非常感谢!

+0

不太清楚你问什么。但是答案可能是'./server -p 1234&./client -p 1234 -h asdffdsasdf',它可以同时运行它们。除非窗户。 – greggo

+0

不,我要问我需要做什么,我可以运行它的参数,我怎么创建.. 现在我可以打开2倍的油灰和 ./服务器在其中一个,然后 ./客户端在其他.. 并得到我想要的回应。但目前有一个固定的端口号。 不知怎的,我必须incorperate它,这样我会做./server -p XXXX 所以我的服务器上的端口XXXX运行, 连接到它,我必须做同样的客户端 ./client -p XXXX 所以我得到正确的回应。 –

回答

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

是的,它适用于您需要多少个参数。在访问'argv'之前检查'argc'。 – pmg

+0

冠军! 谢谢 –