1
data_size = recvfrom(sock_raw , buffer , 1024, 0 , &saddr ,
(socklen_t*)&saddr_size);
這裏限定結構是一個recvfrom函數,其中我想創建一個結構爲「SADDR」和其在main()
聲明爲「saddr_size」如下懷疑在在C插座程序
struct sockaddr saddr;
int saddr_size;
saddr_size = sizeof saddr;
而不是在下面的write()
api中提到的緩衝區,我必須使用結構變量。
int cont= write(logfile,buffer,data_size);
我的問題是:下面我使用了結構。這是爲以下字段定義結構的方式嗎?它是否被正確地聲明?如果不是,請有人指導我糾正它。
struct data{
unsigned char buffer[1024];
unsigned long int saddr;
// struct sockaddr saddr;
int saddr_size;
};
歡迎堆棧交流!這應該在Stack Overflow上 - 在Unix和Linux上,我們不喜歡回答編程問題,除非它們是關於特定於* nix系統的API或接口,或者它是一個shell編程問題。這既不是,所以我正在標誌着這一舉措。 – strugee
您是否懷疑**或者您有**問題**? :) – haccks
該結構看起來是正確的。你有沒有遇到這個問題? 'recvfrom'中的1024可能需要更改爲適當的'sizeof(struct data)'.. – anishsane