精华内容
下载资源
问答
  • linuxC语言文件创建打开和关闭

    千次阅读 2013-10-02 11:49:39
    一个非常简单的linux文件的打开和关闭,旨在从基础学起。 首先看creat函数 #include int create(const char *pathname,mode_t mode); pathname 也就是指定路径下的文件名; mode 是文件模式 O_...
    
    
    #include<stdio.h>
    #include<stdlib.h>
    #include<unistd.h>
    #include<fcntl.h>
    int main()
    {
    int fd;
    fd=creat("file1",O_RDWR);//
    fd=open("file1",O_RDWR|O_APPEND|O_RDWR);
    if(fd==-1)
    {
    printf("error\n");
    return;
    }
    if(close(fd)==0)
    {
    printf("successfully closed\n");
    }
    }
    

    一个非常简单的linux下文件的打开和关闭,旨在从基础学起。

    首先看creat函数

    #include<fcntl.h>

    int create(const char *pathname,mode_t mode);

    pathname 也就是指定路径下的文件名;

    mode 是文件模式 O_RDONLY,O_WRONLY,O_RDWR

    open函数

    #include<fcntl.h>

    int open(const char *pathname,int oflag,...);

    oflag可以指定的三个参数 O_RDONLY,O_WRONLY,O_RDWR 只能选择其中一个哦

    下面的

     O_APPEND每次从文件尾端开始写

    O_CREAT如果文件不存在就创建它

    O_TRUNC文件截断至0

    这三个参数可以指定多个用与或的方式。

    展开全文
  • Linuxc语言创建文件目录

    万次阅读 2018-04-23 11:47:36
    转自 #include&lt;stdio.h&gt; #include &lt;sys/stat.h&gt; #include &lt;sys/types.h&gt; int CreateDir(const char *sPathName) { char DirName[256]; ... ...

    转自

    #include<stdio.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    int CreateDir(const char *sPathName)  
      {  
          char DirName[256];  
          strcpy(DirName, sPathName);  
          int i,len = strlen(DirName);
          for(i=1; i<len; i++)  
          {  
              if(DirName[i]=='/')  
              {  
                  DirName[i] = 0; 
                  if(access(DirName, NULL)!=0)  
                  {  
                      if(mkdir(DirName, 0755)==-1)  
                      {   
                          printf("mkdir   error\n");   
                          return -1;   
                      }  
                  }  
                  DirName[i] = '/';  
    
              }  
          }  
    
          return 0;  
      } 
    
    void main(){
        CreateDir("/home/superbing/test/2/");
    }
    展开全文
  • LinuxC语言文件操作 文件的读写 代码 #include <stdio.h> #include <unistd.h> #include <string.h> #include <fcntl.h> #include <errno.h> #include <sys/types.h> #...

    Linux下C语言的文件操作

    文件的读写
    代码

    #include <stdio.h>
    #include <unistd.h>
    #include <string.h>
    #include <fcntl.h>
    #include <errno.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    
    #define BUFFSIZE 512
    #define MSG "hhhh9999"
    
    int main(int main, char * argv[])
    {
            int fd = -1;
            int rv = -1;
            char buf[BUFFSIZE] = MSG;
    
            fd = open("text.txt", O_RDWR | O_CREAT | O_TRUNC, 0666);
            if(fd<0)
            {
                    perror("opne file error");
                    return 0;
            }
            printf("open file return :%d\n",fd);
    
            rv = write(fd, buf, strlen(MSG));
            if(rv<0)
            {
                    perror("write file error");
                    printf("write file error: %s\n",strerror(errno));
                    goto cleanup;
            }
            printf("write file  %d  bytes\n",rv);
    
    
            //memset(buf, 0, sizeof(buf));			//内存清零
            lseek(fd, 0, SEEK_SET);
            rv = read(fd, buf,sizeof(buf));
            if(rv<0)
            {
                    perror("read file error");
                    printf("read file error: %s\n",strerror(errno));
                    goto cleanup;
            }
            printf("read file  %d  bytes :%s\n", rv, buf);
    
    cleanup:
            close(fd);
    
            return 0;
    }
    

    运行结果:

    tianyujie@icloud-1st:~$ gcc cp.c 
    tianyujie@icloud-1st:~$ ./a.out 
    open file return :3
    write file  8  bytes
    read file  8  bytes :hhhh9999
    tianyujie@icloud-1st:~$ 
    

    我犯的错误:
    忘记在write时把MSG传给buf,导致text.txt里全是乱码。

    函数解析:

    prerror()与strerror(errno) 作用一样,都是返回错误。但是strerror(errno)能返回具体错误原因,好用一点。

    open()函数可以创建或打开一个文件。

    int fd = -1;
    fd = open("test.txt", O_RDWR | O_TRUNC | O_CREAT,0666);
    

    第一个参数:文件的绝对路径
    第二个参数:函数的具体作用

    oflag 作用
    O_WRONLY 只写
    O_RDWR 读写
    O_RDONLY 只写

    O_CREAT 如果文件不存在,则创建该文件
    O_TRUNC 如果此文件存在,而且为 只写 或 读-写 成功打开,则将其长度截断为0

    第三个参数:给文件权限(也可省略)
    open的返回值为最小未用文件描述符

    write()系统调用,
    第一个参数是文集描述符fd,第二个参数是要写的内容,第三个参数是要写的字节数;
    此函数是将 buf 里的内容传给 fd 。

    read()系统调用,
    第一个参数是文集描述符fd,第二个参数是要读的内容,第三个参数是要读的字节数;
    此函数是将 fd 的内容传给 buf 。
    如果read成功,返回独到的字节数。如果读到文件的尾端,返回 0。
    若在到达文档尾端之前有30字节,而要求读100字节,则read返回 30 。下次调用read时,返回 0 。

    展开全文
  • Linux系统下使用C语言进行文件系统IO操作 1打开文件 函数:int open(const char *,int flags); //打开一个已经存在的文件 int open(const char *,int flags,mode_t mode); //打开一个不存在的文件 头文件: #include...

    Linux系统下使用C语言进行文件系统IO操作

    1打开文件

    函数:int open(const char *,int flags); //打开一个已经存在的文件

    int open(const char *,int flags,mode_t mode); //打开一个不存在的文件

    头文件:
    #include<sys/types.h>
    #include<sys/stat.h>
    #include<fcntl.h>
    参数:
    1:将要打开的文件的路径及其文件名
    2:文件的打开方式:
    打开常用方式:O_RDONLY 只读方式打开
    O_WRONLY 只写方式打开
    O_RDWR 读写
    O_CREAT 若文件不存在则创建
    O_TRUNC 清空文件内容
    O_APPEND 追加文件内容
    通常使用(O_WRONLY | O_CREAT | O_TRUNC)
    3:若要创建文件则要给予此文件一个访问权限,例如 0644 读写权限;0777 读写可执行权限
    返回值:打开成功则返回文件描述符(也就是一个数组下标)


    2读取文件

    函数:ssize_t read(int fd,void *buf,size_t count);

    头文件:
    #include<unistd.h>
    参数1:待读取的文件的文件描述符
    参数2:读取数据存储的buf
    参数3:读取的字节数
    返回值:成功:返回读取的字节数;失败:返回-1


    3写入文件

    函数:ssize_t write(int fd,const void *buf,size_t count);

    头文件:
    #include <unistd.h>
    参数1:待写入的文件的文件描述符
    参数2:待写入的数据存储的buf
    参数3:待写入的字节数
    返回值:成功:返回写入的字节数,失败:返回-1


    ### 4关闭文件 #### 函数:int close(int fd); 参数1:所需要关闭的文件的文件描述符
    ###### 例如:创建一个文件并将将一段文字写入文件。
    #include <stdio.h>
    #include <string.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    int main(int argc,char *argv[])
    {
        int file;
        file = open("1.txt",O_RDWR | O_CREAT | O_TRUNC, 0644);
        char M[20] = {"薛定鄂的海豚"};
        int n = write(file,M,18);
        printf("写入的字节数为:%d\n",n);
        close(file);
    
        return 0;
    }
    

    运行:
    在这里插入图片描述

    展开全文
  • linux 平台下C语言创建文件

    千次阅读 2016-08-03 09:54:34
    #include #include #include #include #include void create_file(char *filename){ if(creat(filename,0755)){ printf("create file %s failure!\n",filename); exit(EXIT_F
  • linux平台C语言打开文件

    千次阅读 2016-08-03 09:56:19
    //如果flag参数里有O_CREAT表示,该文件如果不存在,系统则会创建文件,该文件的权限由第三个参数决定,此处为0755 //如果flah参数里没有O_CREAT参数,则第三个参数不起作用.此时,如果要打开的文件不存在,则会报错. ...
  • LinuxC语言文件-目录基本操作

    千次阅读 2012-10-31 16:19:42
    仅提供大概参考~ 纯手写未调试/** *编写一个程序,提供一个参数(文件名/路径) ...*创建该该文件的一个拷贝 *如果对应目录名存在 *显示该目录及其子目录结构 **/ #include #include #include #includ
  • LinuxC语言实现文件拷贝

    千次阅读 2013-10-14 11:12:47
    LinuxC语言文件拷贝操作 /*  Function:copy file from file1 to file2  How to execute: ./copyfile file1 file2 (under Linux)  Data:2007-05-09 */ #include /*fprintf(),stderr,BUFSIZ*/ #include
  • LinuxC语言实现当前目录下文件查看,包括文件的大小,创建修改时间等属性
  • 工作程序中较少使用c语言来操作目录,目录函数参数参考: https://blog.csdn.net/qq_20916555/article/details/51132642 ... ... 在这实现创建多级目录,linux代码如下 #include<sys/st.
  • 网上对于LinuxC如何复制文件,往往直接用到system("cp 源文件 目标文件"),如此“不负责任”的解决方案,要是别人规定不能用shell脚本呢,必须从C语言的根本解决问题呢? 如下图,用过Linux下的人都知道如何用终端...
  • LinuxC语言编程

    万次阅读 多人点赞 2018-12-26 16:18:17
    本章将简要介绍一下什么是LinuxC语言的特点,程序开发的预备知识,LinuxC语言开发的环境,程序设计的特点和原则以及编码风格等。通过本章的学习,可以对在Linux下使用C语言编程有一个基本的了解。 1.1 Linux ...
  • 使用到进程、文件IO实现子进程写、父进程读。 代码 #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;sys/types.h&amp;gt; #include &amp;lt;sys/stat.h&amp;gt; #include &amp;lt;...
  • LinuxC语言实现TCP文件传输

    千次阅读 2019-08-10 23:01:56
    开发环境:Linux,GCC 功能介绍:客户端和服务端的TCP文件传输,客户端可以上传文件到服务端,也可以从服务端下载文件,还可以查看和修改服务端的工作目录(临时)。 码云:传送门 GitHub:传送门 效果图参考页尾...
  • 头文件: #include #include #include ...int open( const char * pathname, int flags);...int open( const char * pathname,int flags, mode_t mode...返回值:返回打开的文件句柄,-1 打开失败 函数说明 参数pa
  • 我是这样学习LinuxC语言编程的-LinuxC语言编程环境的搭建 关键词: Linux gcc make C语言 编程环境 要想在Linux下进行C语言编程,首先得搭建好一个编程环境。这里分别说明一下几个非常有用的软件包。 ...
  • linuxc语言实现多线程文件复制

    千次阅读 2013-06-17 14:09:18
    分类:linuxc语言开发 1、具体思路 把一个文件分成N份,分别用N个线程copy, 每个线程只读取指定长度字节大小的内容 最后一个线程的源文件所指定的结束位置是文件的实际大小 每个线程读取指定...
  • kali linux 编译C语言

    千次阅读 2018-09-10 21:05:33
    kali linux 编译C语言 安装gcc 创建文件test.c touch test.c 编写代码 编译 gcc test.c 运行(系统默认为a.out 为编译完的文件) 手动设置输出文件 gcc test.c -o test.out...
  • Linux系统C语言读写文件总结 (一)

    千次阅读 2015-10-21 17:38:20
    一般来说,linux系统中对文件的读写操作只需要几个基本函数就可以搞定,包括open, read, write, lseek以及close等函数。这里所说的函数就是所谓的不带缓冲的I/O。这里不带缓冲指的是这些个函数(read, write等)都...
  • 版权声明:本文为博主原创文章,未经博主允许,欢迎随意转载,标好作者+原文地址...1、使用标准I/O实现文件复制; 2、使用目录检索寻找文件夹,并递归复制文件夹。 代码: #include&lt;stdio.h&gt; #in...
  • open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> 定义函数 int open( const ...
  • Linux下用C语言实现文件的写入

    万次阅读 2018-07-11 18:49:53
    C语言自带的文件写入机制是非常不错的选择我们可以通过一下代码来轻松完成文件的写入C语言中对文件操作的标准库函数以下所示: 文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的...
  • linux C语言实现文件

    千次阅读 2016-01-06 18:11:54
    此函数只能锁定整个文件,无法锁定文件的某一区域。 表头文件 #include 定义函数 int flock(int fd,int operation); 参数 operation有下列四种情况: LOCK_SH 建立共享锁定。多个进程可同时对同一个文件作...
  • LinuxC语言文件读写(大于4G)

    千次阅读 2016-02-18 16:26:45
    如何create大文件 要大就非常大,1T吧。 有两种方法:   一.dd dd if=/dev/zero of=1T.img bs=1G seek=1024 count=0 bs=1G表示每一次读写1G数据,count=0表示读写0次,seek=1024表示略过1024个Block不写,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,934
精华内容 33,973
关键字:

linux创建c语言文件

linux 订阅
c语言 订阅