右侧
当前位置:网站首页 > 资讯 > 正文

C语言scanf乱码,c语言scanf出错

作者:admin 发布时间:2024-04-08 01:00 分类:资讯 浏览:12


导读:为什么c语言中输入的字符成乱码!!1、你的编译系统采用的是标准ASCII码集,而不是扩展ASCII码集,所以打印不出176和219对应的符号。建议作如下修改:在#include...

为什么c语言中输入的字符成乱码!!

1、你的编译系统采用的是标准ASCII码集,而不是扩展ASCII码集,所以打印不出176和219对应的符号。建议作如下修改:在#include stdio.h前或后加一行#include stdlib.h。

2、汉字乱码是因为缓冲区有字符,需要用fflush(stdin);来清空键盘缓冲区,使用getch等都是治标不治本的办法,可以多学习一下fflush的使用,对于大批量的手动输入,很用。

3、studentType),1,fp)!=1)简单看了下,这行有问题,往文件里写的时候是把一个字符串写进去,stud[i]是一个struct,强行把它序列化的话,内存中的存储不是连续的,这样写就会写入一些没用的数据,导致出错。

4、printf(%s\n,str);}3)关于出现乱码的问题,估计你的文件中有中文汉字。读取到119位的时候正好是某个汉字的前一半。要解决这个if(fgets(str,121,fp)!=null)这里120 改成读偶数个121。另外文件最好用宽字符的。

5、这种情况多数是由于操作系统的语言选项不正确引起的。建议你查看一下控制面板中的区域和语言选项,特别是有关“非Unicode程序的语言”,一定要选择成“中文(简体,中国)”。然后重启电脑。

6、你这个乱码,你的文件里,学号长度为10个字节,所以你定义学号这个变量时,必须定义11个字节的长度,因为字符串的变量,必须要有一个\0作为结束,不然的话,显示的时候,没有结束符就会接着往下显示,就会有乱码出现。

C语言为什么会出现乱码?

1、从代码看,在Windows平台是有大概率会乱码,假如你的商品信息数组里存放了换行就一定会乱码。主要问题在文件的打开方式不对,fread, fwrite函数最好以二进制模式打开文件,即打开方式加上b,即(rb, wb)。

2、中文编码格式不对。设置一下编码。你用的是什么编辑器。

3、C语言源文件的编码与系统的不一样,用稍微高级一些的文本编辑器,更换文本的编码格式。用写字板试试。

标签:


关灯