我尝试向二进制文件写入数据时遇到了问题。以下是代码:
当我运行程序时,它只写入x.name字符串,而忽略了其他两个(quantity和price)。 我已经在谷歌上搜索过,这似乎是将数据写入二进制文件的正确函数...但对我来说仍然无效。 我该怎么办?提前致谢!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
typedef struct
{
char name[255];
int quantity;
float price;
} product;
int main()
{
product x;
FILE *f;
strcpy(x.name,"test");
x.quantity=10;
x.price=20.0;
f=fopen("test.txt","wb");
fwrite(&x,sizeof(x),1,f);
fclose(f);
return 0;
}
当我运行程序时,它只写入x.name字符串,而忽略了其他两个(quantity和price)。 我已经在谷歌上搜索过,这似乎是将数据写入二进制文件的正确函数...但对我来说仍然无效。 我该怎么办?提前致谢!