所以会一直输出奇怪的字符直到在内存遇到'\0'才结束。
遇到gbk就需要做转码才能识别中文,不然gbk的中文编码通过utf8输出肯定会出现乱码
因为你只复制了0到len-1的字符,最后一个\0没有复制。
请问为什么输入中文会输出乱码呀?而且删除的时候中文是半个半个删的,输入数字和字母就没有这个问题。按一次删除键后:相关代码如下:// 实现文本框控件class EasyTextBox{private:int left = 0, top = 0, right = 0, bottom = 0;// 控件坐标wchar_t* text = NULL;// 控件内容size_t maxlen = 0;// ...
把if(fread(&st[i],sizeof(st),3,fp0)==NULL)中的NULL改成EOF吧!你查查,这个函数在到达文件结尾或出错时都返回EOF而不是NULL。
1回复贴,共1页 <<返回c语言吧两次同样的函数 为什么输出会中文乱码 只看楼主 收藏 回复 紫宫镜初雪 麻婆豆腐 11 #include <stdio.h>#include <string.h>#include <stdlib.h>//读取文件字符串长度#define LINE_LIN 1024//定义数据文件路径#define FILE_PATH "E://data.csv"//定义学生结构体struct Students...
能不能了解一下utf-8,顺便查一查怎么给终端设置utf-8
把if(fread(&st[i],sizeof(st),3,fp0)==NULL)中的NULL改成EOF吧!你查查,这个函数在到达文件结尾或出错时都返回EOF而不是NULL。