mol*_*man 3 c file-io struct file
我对C很新,我遇到了fwrite问题.
我想使用一个包含两个值的结构:
struct keyEncode{
unsigned short key[2];
unsigned short encoded[2];
};
Run Code Online (Sandbox Code Playgroud)
然后我在main中声明我的struct和指向该struct的指针:
struct keyEncode keynEncode;
struct keyEncode *storedVal = &keynEncode;
Run Code Online (Sandbox Code Playgroud)
然后我为结构赋值,并希望使用fwrite将结构写入文件:
keynEncode.key[0] = k1[0];
keynEncode.key[1] = k1[1];
keynEncode.encoded[0] = p[0];
keynEncode.encoded[1] = p[1];
// i tried to use storedVal.key[0] = k1[0]; but i was getting compile errors
fwrite(storedVal, sizeof(storedVal), 0xffff, fp);
Run Code Online (Sandbox Code Playgroud)
现在我的问题是fwrite没有写任何文件.
我哪里错了?
Jac*_*ack 15
您正在使用sizeof指针,这不会计算有效结构的大小,而是指向其中一个指针(可能是4或8个字节).试试sizeof(struct keyEncode)(sizeof(keyEncode)如果您使用C++就足够了).
然后我不明白为什么你0xFFFF有数,不应该只是1?