我有一个结构和一系列这样的结构:
typedef struct clientInformation{
int inUse;
int socketNumberClient;
char *portNumber;
int listeningPort;
char *clientsName;
char *clientsIP;
}clientInformation;
clientInformation client[10];
我通过调用这个函数来初始化数组:
void addToList(char *ipaddress,char *p,char *cName,int socketNumber,int clientPortListen){
int i;
for(i=0;i<10;i++){
if(client[i].inUse==0){
client[i].inUse=1;
client[i].socketNumberClient=socketNumber;
client[i].listeningPort=clientPortListen;
client[i].portNumber=p;
client[i].clientsName=cName;
client[i].clientsIP=ipaddress;
break;
}
}
}
我从main()函数调用初始化函数函数,使用:
addToList(clientIP,clientPort,clientName,clientSocketNew,clientPortListen);
问题是初始化后我无法访问数组中结构的成员。我不确定成员是否填充。
对于我尝试在main()中打印的实例:
的printf( “%d”,客户端[8] .inUse);
它什么都不输出。
答案 0 :(得分:1)
该问题的评论解释了为什么问题发生以及如何解决问题。总结一下。
为了在输出时刷新stdout
,输出结束时需要\n
。
更改
printf("%d",client[8].inUse);
要
printf("%d\n",client[8].inUse);