【发布时间】:2014-09-21 14:33:48
【问题描述】:
我正在尝试使用系统调用填充 struct 值。我最初的努力如下。但是我从打印语句中得到垃圾值。
int fd;
int nbytes;
struct message {
char *from;
char *to;
int size;
};
struct message m1={"me","you",10};
struct message m2;
fd=creat("structfile",0644);
nbytes=write(fd,&m1,sizeof(m1));
read(fd,&m2,nbytes);
printf("%s %s %d",m2.from,m2.to,m2.size);
还有其他方法可以做到这一点吗? (我正在考虑通过分别调用gethostbyname 和readdir 来直接填充像hostent 和dirent 这样的结构)
【问题讨论】:
标签: c pointers struct system-calls