标题:在 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: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-435222-1-1.html




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

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