linux下c++程序,编译运行有时输出为乱码 ?(printf语句)

fangqiangqiang_0 2004-01-05 04:51:30
不知道是何原因?
那位大侠有相似经历。

程序编译运行都没有问题只是输出偶尔会有乱码出现。并且导致
终端里面任何输入和提示符都显示为乱码!
...全文
494 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fierygnu 2004-01-06
  • 打赏
  • 举报
回复
可能性只有一种,就是输出了不可见字符,被终端解释成了控制字符,改变了属性。检查printf语句。
passingguy 2004-01-06
  • 打赏
  • 举报
回复
这个问题可能性有很多种~~~
源代码来看看
blh 2004-01-06
  • 打赏
  • 举报
回复
把你的程序贴出来看看,是不是你的程序有问题
icedust 2004-01-06
  • 打赏
  • 举报
回复
不要设置LANG为中文
caser 2004-01-06
  • 打赏
  • 举报
回复
是因为安装了中文导致的,改为英文应该可以解决。
fierygnu 2004-01-06
  • 打赏
  • 举报
回复
你说的就是我说的:) 我说的是最根本的原因,你说的是可能的几种途径。
不明白吗?
passingguy 2004-01-06
  • 打赏
  • 举报
回复
此外,如果试图在终端上printf一个二进制形式的字符串
printf之后所有的字符都会变成乱码~~
这个你cat一个二进制可执行文件就可以知道~~
passingguy 2004-01-06
  • 打赏
  • 举报
回复
还有就是printf可以带buffer的,
setbuf(FILE*,char* buffer)
如果用局部变量作了buffer,打印的结果也是不可预期的。
passingguy 2004-01-06
  • 打赏
  • 举报
回复
楼上说的就不对了
比如说:
char content[1024];
for (int i=0;i<100;i++)
{
content[i] = 'a';
}
printf("Content=%s",content);
你说打印的结果是什么?
100个a以后绝对有不可预料的字符~~

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧