struct FileInfo
{
char fileAdd[100];//文件路径
char fileName[50];//文件名
char hostname[100];//主机名
char MD5[32];
char IPA[16];//来源IP
int choosenFlag;
};
/////////////////////////////////////////////
queue<FileInfo> fileList;
/////////////////////////////////////////////
FileInfo tempFile,tFile;
getIPA(tempFile);
cout<<"入队列前ip:"<<tempFile.IPA<<endl;
strcpy(tempFile.fileAdd,"D:\\a.jpg");
strcpy(tempFile.fileName,"a.jpg");
strcpy(tempFile.MD5,"1de710e76f0f6d5ae0dc373ce1c5f02d");
tempFile.choosenFlag = 0;
fileList.push(tempFile);
cout<<"入队列后ip:"<<fileList.front().IPA<<endl;
tFile = fileList.front();
cout<<"取队头ip:"<<tFile.IPA<<endl;结果:- -||||
getIPA()这个函数怎么定义的?
getIPA(tempFile);
cout<<"入队列前ip:"<<tempFile.IPA<<endl; //打印正确的IP
strcpy(tempFile.fileAdd,"D:\\a.jpg");
strcpy(tempFile.fileName,"a.jpg");
strcpy(tempFile.MD5,"1de710e76f0f6d5ae0dc373ce1c5f02d");
tempFile.choosenFlag = 0;
fileList.push(tempFile);
cout<<"入队列后ip:"<<fileList.front().IPA<<endl; //为空
tFile = fileList.front();
cout<<"取队头ip:"<<tFile.IPA<<endl; //也为空
getIPA是引用还是地址呀》
getIPA的参数是什么?
getIPA(FileInfo)? or getIPA(FileInfo&) ??
void getIPA(FileInfo &fileInfo)
{
char host_name[170] = "";
char IPA[16] = "";
WSAData wsaData;
WSAStartup(MAKEWORD(2,2), &wsaData);
gethostname(host_name, sizeof(host_name)); //通过函数int gethostname(char *hostname,int size)获取本机名
hostent *hent = gethostbyname(host_name);
in_addr addr;
memcpy(&addr,hent->h_addr_list[0], sizeof(addr));
strcpy(IPA,inet_ntoa(addr));
strcpy(fileInfo.hostname,host_name);
strcpy(fileInfo.IPA,IPA);
WSACleanup();
}