永发信息网

C语言问题 用fwrite写入文件 l

答案:2  悬赏:50  手机版
解决时间 2021-03-11 14:39
  • 提问者网友:疯子也有疯子的情调
  • 2021-03-11 03:13
char a;
scanf ("%c",&a);
fwrite (&a,sizeof(a),1,fp)
为什么 写入的fp指向的文档里面老是多了个 ? 比如输入a 里面就显示 a? 结果输出的时候老是乱码
最佳答案
  • 五星知识达人网友:低血压的长颈鹿
  • 2021-03-11 03:36
这几句代码应该没问题。
是不是你文件原来有中文内容,然后打开文件的方式指定了r+,这样只替换了第一字节,后面的就乱了编程乱码了。
你试试把fopen打开文件的方式改为"w"
全部回答
  • 1楼网友:酒醒三更
  • 2021-03-11 05:04
fwrite函数在写文件时是以二进制形式进行的。 函数原型:int fwrite(char *ptr, unsigned size, unsigned n, file *fp); 功       能:将ptr所指向的n*size个字节输出到fp所指向的文件中 返 回  值:写到fp文件中的数据项的个数 举例说明如下: // 定义一个学生结构体 struct student_type {     char name[10];     int num;     int age;     char addr[30]; }stud[40]; int i; file *fp;  // 定义一个文件指针fp fp = fopen("stu.dat", "wb");  // 以二进制可写方式打开stu.dat文件 // 将40个学生的记录写入文件stu.dat中 for(i=0; i<40; i++)     fwrite(&stud[i], sizeof(struct student_type), 1, fp);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯