1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > c语言 读程序写入结构体 C语言文件写入结构体的乱码解决方法

c语言 读程序写入结构体 C语言文件写入结构体的乱码解决方法

时间:2023-11-18 13:42:33

相关推荐

c语言 读程序写入结构体 C语言文件写入结构体的乱码解决方法

C语言中用 fwrite 向文件写入结构体时出现乱码的解决方法,由于fwrite是用于二进制文件的,所以打开直接写入的文件是会出现乱码,这时需要一个中间文件来存储临时数据,就是先将数据存储在一个临时文件,然后从这个数据中读取出来在写入目标文件。也许我描述的不是很好,下面看看我写的一个例子或许你就会明白我说的是什么了。

#include

int main ()

{

FILE * pFile;

FILE * temp;

double xvalue, yvalue;

struct punto{

float x;

float y;

} pto;

xvalue = 1;

temp = fopen("temp.aux", "w+");

int i;

for(i = 0; i < 10; i++){

pto.x = i;

pto.y = 0;

fwrite(&pto, sizeof(pto), 1, temp);

}

pFile = fopen ("myfile.txt", "w+");

rewind(temp);

fread(&pto, sizeof(pto), 1, temp);

while(!feof(temp)){

//pto.x = xvalue;

pto.y = rand()%100;

fprintf(stdout, "%f %f\n", pto.x, pto.y);

fprintf(pFile, "%f %f\n", pto.x, pto.y);

fseek(temp, -sizeof(pto), SEEK_CUR);

fwrite(&pto, sizeof(pto), 1, temp);

fread(&pto, sizeof(pto), 1, temp);

sleep(1);

}

fclose(temp);

remove("temp.dat");

fclose(pFile);

return 0;

}

运行结果:

0.000000 83.000000 1.000000 86.000000 2.000000 77.000000 3.000000 15.000000 4.000000 93.000000 5.000000 35.000000 6.000000 86.000000 7.000000 92.000000 8.000000 49.000000 9.000000 21.000000

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。