char a;
scanf ("%c",&a);
fwrite (&a,sizeof(a),1,fp)
为什么 写入的fp指向的文档里面老是多了个 ? 比如输入a 里面就显示 a? 结果输出的时候老是乱码
C语言问题 用fwrite写入文件 l
答案:2 悬赏:50 手机版
解决时间 2021-03-11 14:39
- 提问者网友:疯子也有疯子的情调
- 2021-03-11 03:13
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-03-11 03:36
这几句代码应该没问题。
是不是你文件原来有中文内容,然后打开文件的方式指定了r+,这样只替换了第一字节,后面的就乱了编程乱码了。
你试试把fopen打开文件的方式改为"w"
是不是你文件原来有中文内容,然后打开文件的方式指定了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);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯