姬世鹏 发表于 2020-1-9 17:46:43

关于io缓冲区

#include <stdio.h>
#include <string.h>//为什么会是乱码啊?


int main(void)
{
        char buff;
       
        memset(buff,'\0',sizeof(buff));
       
        setvbuf(stdout,buff,_IOFBF,1024);
       
        fprintf(stdout,"wellcome to \n");
       
        fflush(stdout);
       
        fprintf(stdout,"输入任意数字后才会显示该行字符!\n");
       
        getchar();
       
        return 0;
}

cosmos3919 发表于 2020-1-9 17:46:44

本帖最后由 cosmos3919 于 2020-1-9 20:34 编辑

https://thumbnail0.baidupcs.com/thumbnail/edff5d34fledd31b7abb8e9897cca581?fid=3608992983-250528-223358318853940&time=1578571200&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-4fY8uHVxnbGEGxKYtHjfLlWGBBc%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=205363392434031854&dp-callid=0&size=c710_u400&quality=100&vuk=-&ft=video

我将你的代码敲了一遍,用gcc编译并运行,没有出现乱码,如上图所示,所以你的代码是没有问题的。
分析应该是你所在系统的中文编码方式与编译器的中文编码方式不一致导致的乱码。

1113727163 发表于 2020-1-9 19:16:13

可能是编辑器设置问题

姬世鹏 发表于 2020-1-9 20:37:46

cosmos3919 发表于 2020-1-9 20:25
我将你的代码敲了一遍,用gcc编译并运行,没有出现乱码,如上图所示,所以你的代码是没有问题的。
分 ...

唉,我太难了
页: [1]
查看完整版本: 关于io缓冲区