在编程中遇到了一个奇怪的现象,不知如何解释,望高手能为我解释一下。
程序中用到结构体
struct io_spec {
U64X time;
U64X sector;
U32X bytes;
int rw;
};
U64X U32X 分别是64位和32位的数据类型重定义
将一个输入文件读入,以“wb”方式打开,读入赋值给spec结构体之后
使用fprintf(fp1,”%d %llu %ld 192.168.0.50\n”,spec.rw,spec.sector,spec.bytes/512);将结果输入文件fp1中,
可是每次输出的时候最后输出的那个数据结构的数值都是0,只有当spec.sector位于最后输出时,数据才是全部正确的,这是为什么呢?
但是使用屏幕输出的时候,那些数值都是正确的,为什么写入文件就变了呢?
头疼,望各位大虾,帮助!
>> 本文固定链接: http://www.vcgood.com/archives/3156