C语言文件输出时,输入数据后为什么会出现乱码
4个回答
展开全部
先确认一下文件是二进制存的吗?如果是,用记事本打开它,应该是看不到数字的。不是说在记事本里输入字符1
2
3
4,然后保存成number.dat,程序就能正确读取的。
二进制读取的时候fopen要写成
fp=fopen("number.dat","rb");rb表示binary:二进制读写。
2
3
4,然后保存成number.dat,程序就能正确读取的。
二进制读取的时候fopen要写成
fp=fopen("number.dat","rb");rb表示binary:二进制读写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fwrite(&stud[i],sizeof(struct
studentType),1,fp)
你这种写入方式是直接将这个数据的内存原封不动的拷贝到文件当中。
在C语言中,内存中的结构体的存储并不是所有数据连续的。
你可以在网络上搜索一下结构体的对齐原则。
这种原则是C语言中,结构体存储结构的原理。
如果你希望能更好的理解。
studentType),1,fp)
你这种写入方式是直接将这个数据的内存原封不动的拷贝到文件当中。
在C语言中,内存中的结构体的存储并不是所有数据连续的。
你可以在网络上搜索一下结构体的对齐原则。
这种原则是C语言中,结构体存储结构的原理。
如果你希望能更好的理解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fwrite函数保存数据时整型数据将会保存为对应的ASCII字符
比如48就会被保存为‘0’
比如48就会被保存为‘0’
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询