| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 631 人关注过本帖
标题:在 Linux 下运行 c 为什么能写入但读出的是乱码求解
只看楼主 加入收藏
落花雨后
Rank: 1
等 级:禁止访问
帖 子:10
专家分:9
注 册:2014-8-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
在 Linux 下运行 c 为什么能写入但读出的是乱码求解
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdio.h>
void main()
{
        int fd,size;
        char s[]="Linux Programmer!\n",buffer[80];
        fd=open("abc.txt",O_WRONLY|O_CREAT);
        write(fd,s,sizeof(s));
        close(fd);
        fd=open("abc.txt",O_RDONLY);
        size=read(fd,buffer,sizeof(buffer));
        close(fd);
        printf("%s",buffer);
}
~
~
~
~
搜索更多相关主题的帖子: include Linux close write 
2014-08-21 17:09
落花雨后
Rank: 1
等 级:禁止访问
帖 子:10
专家分:9
注 册:2014-8-20
收藏
得分:0 
这个论坛有没有人啊????不是号称最大的编程论坛吗???版主求解????
2014-08-21 17:23
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:4 
fd=open("abc.txt",O_WRONLY|O_CREAT);
open后把fd的值打印出来看看

总有那身价贱的人给作业贴回复完整的代码
2014-08-21 17:32
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
回复 2 楼 落花雨后
这个你这段代码不能再windows下编译

你确认你用记事本打开那个文本文件 里面是你写入的东东  但是读不出来吗

DO IT YOURSELF !
2014-08-21 17:34
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:4 
程序代码:
/* #include<unistd.h> */
/* #include<sys/types.h> */
/* #include<sys/stat.h> */
#include<fcntl.h>
#include<stdio.h>
int main(void)
{
    int fd,size;
    char s[]="Linux Programmer!\n",buffer[80];
    fd=open("abc.txt",O_WRONLY|O_CREAT);
    write(fd,s,sizeof(s));
    close(fd);
    fd=open("abc.txt",O_RDONLY);
    size=read(fd,buffer,sizeof(buffer));
    close(fd);
    printf("%s",buffer);

    return 0;
}


改成这样用Win下的GCC也能编译 既然没中文一般不会有问题啊

不知道楼主的具体环境 不好说

话说楼主ID咋被封了
2014-08-21 18:24
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


我知道原因了 嘴里不干不净可不好
2014-08-21 18:26
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:4 
再再再有点耐心等着回复就好了,呵呵

梦想拥有一台龙芯3A-4000
2014-08-22 00:10
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:4 
fd=open("abc.txt",O_WRONLY|O_CREAT); 打开有问题
O_CREAT是当文件不存在则创建,创建的时候需要为文件设置属性的
   fd = open("abc.txt", O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
2014-08-22 15:46
快速回复:在 Linux 下运行 c 为什么能写入但读出的是乱码求解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021002 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved