• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

在LINUX,就是IO的输出与输入的问题

906875672@qq.com 2018-02-28 浏览量:746

先把代码放在这里了,我是看视频学习的,有个问题不是很明白

#include "stdio.h"

#include "stdlib.h"

#include "sys/types.h"

#include "sys/stat.h"

#include "fcntl.h"

#include "string.h"

#include "unistd.h"

int main(int argc,char *argv[])

{

        if(argv<2)

        {

                printf("please input filename!!!\n");

                exit(1);

        }

        else

        {

                    int fd;

                    umask(0000);

                    fd=open(argv[1],O_RDWR|O_CREAT,0666);

                    if(fd<0)

                    {

                            printf("error\n");

                            exit(1);

                    }else

                    {

                        printf("success =%d\n",fd);

                        char     buf[1024];

                        memset(buf,0,1024);

                        int returnum=read(fd,buf,1024);

                        if(returnum!=-1)

                        {

                                printf("buf=%s\n",buf);

                        }else

                        {

                                printf("error\n");

                        }

                        close(fd);

                        printf("closed\n");

                    }

        }

        return 0;

}


//上面是源代码,我就有一个问题搞不明白,就是我手动新建了一个文件比如example.txt文件,我想要读取里面的字符,但是错误,在运行时创建又是可以的,创建好后自己往文件里写字符就能读出来










0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:2
  • 你的意思是运行时创建是可以读的。如果手动创建一个,就读不出来是吗?
电子老工程师 回复了 :TPS3431SQDRBR 车规级 TPS3431SDRBR 非车规级 回复

相关问题

问题达人换一批

在LINUX,就是IO的输出与输入的问题