首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

argc argv如何用

2013-03-25 
argc argv怎么用啊#includeiostreamusing namespace stdint main(int argc,char *argv[]){coutargc

argc argv怎么用啊

#include<iostream>
using namespace std;
int main(int argc,char *argv[])
{
cout<<argc<<endl;
int a;
cin>>a;
int b;
cin>>b;
for(int i=0;i<argc;i++)
cout<<argv[i]<<endl;
return 0;
}

 为什么什么程序都是argc都是1 怎么用啊 argc和argv  求例子啊 
[解决办法]
命令行下使用,比如一个console的TCP客户端:



#include <stdio.h>
#include <winsock.h>
#pragma comment(lib,"ws2_32")
#define PORT 1111

int main(int argc,char *argv[])
{
 SOCKET sockfd;
 WSADATA ws;
 struct sockaddr_in their_addr;
 char Buffer[MAX_PATH];
 int num = 0;
 if (argc != 2)
 {
 printf("Usage:client1.exe<IP Address>\n");
 return -1;
 }
 WSAStartup(MAKEWORD(2,2),&ws);
 if ((sockfd = socket(AF_INET,SOCK_STREAM,0)) == INVALID_SOCKET)
 {
 return -1;
 }
 their_addr.sin_family = AF_INET;
 their_addr.sin_port = htons(PORT);
 their_addr.sin_addr.S_un.S_addr = inet_addr(argv[1]);
 if (connect(sockfd,(struct sockaddr*)&their_addr,sizeof(struct sockaddr)) ==SOCKET_ERROR)
 {
 closesocket(sockfd);
 return -1;
 }
 gets(Buffer);
 num = send(sockfd,Buffer,MAX_PATH,0);
 closesocket(sockfd);
 return 0;
}




使用时候就是 client1.exe 127.0.0.1  
这种时候argc就为2。
[解决办法]
有两种方式,一种是编译器有这个选项,另外就要通过命令行方式执行你的程序时传进去的

热点排行