在linux下写程序出现乱码

来源:百度知道 编辑:UC知道 时间:2024/05/13 16:16:56
在linux下写了一个文件的打开,读写,关闭函数,在终端运行的时候,已经正常显示打开的文件,写入的字符,读出的字符,可在显示关闭的时候出现乱码!首先程序正确,单个测试打开,关闭,写入没有出现乱码,在读出的时候出现乱码了!请问这怎么解决,在命令模式下也不行!
程序里一个中文也没有,改了LANGUAGE=C也没用,还是出现乱码!是在shell上运行后,显示的结果是乱码!给我你的邮箱吧,我把那程序发给你,我在别人机器上运行了,也是有乱码.我QQ61096542.已经发到你邮箱里了!请你运行看看吧!那是可以直接在linux下运行的可执行文件!那我也源程序也发给你吧!我已经知道错在哪了 !

打开文件的格式有误,删除O_CREAT|O_TRUNC这2个.
if((fd=open("/home/lcw/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0)

-----------------
呃,你发给我的不是代码,居然是一个不知道是什么格式的文件...

-----------------
joiky@163.com
:)

-----------------
你还是没说到重点.
1. 你用程序写的文件,在GNOME下用gedit(或其它可视工具)打开是否是乱码?
2. 使用程序read(或<<)然后显示,是否是乱码,读写的格式是否添加了ios::binary
3. 在shell下cat该文件是否是乱码
4. 你说的在shell上运行,显示结果乱码,是何意?

------------------
不大明白你的意思,到底是程序能正常读写文件,而shell下面cat乱码呢,还是程序读出来就是乱码....

不要带中文字符

有可能是你准备输出的是十六进制串
但是显示的是ascII码 就可能是乱码