精华内容
下载资源
问答
  • 数据的输入和输出几乎伴随着每个 C 语言程序,所谓输入就是从“源端”...文件及其分类计算机上的各种资源都是由操作系统管理和控制的,操作系统中的文件系统,是专门负责将外部存储设备中的信息组织方式进行统一管理...

    数据的输入和输出几乎伴随着每个 C 语言程序,所谓输入就是从“源端”获取数据,所谓输出可以理解为向“终端”写入数据。这里的源端可以是键盘、鼠标、硬盘、光盘、扫描仪等输入设备,终端可以是显示器、硬盘、打印机等输出设备。在 C 语言中,把这些输入和输出设备也看作“文件”。

    文件及其分类

    计算机上的各种资源都是由操作系统管理和控制的,操作系统中的文件系统,是专门负责将外部存储设备中的信息组织方式进行统一管理规划,以便为程序访问数据提供统一的方式。

    文件是操作系统管理数据的基本单位,文件一般是指存储在外部存储介质上的有名字的一系列相关数据的有序集合。它是程序对数据进行读写操作的基本对象。在 C 语言中,把输入和输出设备都看作文件。

    文件一般包括三要素:文件路径、文件名、后缀。

    由于在 C 语言中 '\' 一般是转义字符的起始标志,故在路径中需要用两个 '\' 表示路径中目录层次的间隔,也可以使用 '/' 作为路径中的分隔符。

    下面给大家介绍C语言的文件读写操作

    直接上代码:

    #include

    //1.创建一个文件file

    FILE* createFile(const char* path)

    {

    FILE* file = fopen(path,"w");

    return file;

    }

    //2. 把buffer中的内容写入file

    void fileWrite(FILE* file)

    {

    const char *buffer = "aabbccddeeff";

    size_t len = fwrite(buffer,1,12,file);

    if(len > 0)

    {

    printf("write to file sucess! %zu\n", len);

    fclose(file);

    }

    }

    //3.把刚才写过的文件内容读到ch中

    void fileRead(const char* path)

    {

    FILE* file_writed = fopen(path,"r");

    char ch[20]={0};

    size_t len = fread(ch, 1, 12, file_writed);

    if(len>0)

    {

    printf("read data size: %zu\n", len);

    printf("read data: %s\n", ch);

    fclose(file_writed);

    }

    }

    int main()

    {

    FILE* file = createFile("./test.txt");

    if(file)

    {

    printf("create file sucess!\n");

    }

    fileWrite(file);

    fileRead("./test.txt");

    return 0;

    }

    test.txt里的内容为:

    aabbccddeef

    output:

    create file sucess!

    write to file sucess! 12

    read data size: 12

    read data: aabbccddeeff

    --------------------------------

    Process exited after 0.0432 seconds with return value 0

    请按任意键继续. . .

    以上就是用c语言简单实现文件 r/w 操作的详细内容,更多关于c语言文件 r/w 操作的资料请关注脚本之家其它相关文章!

    展开全文
  • C语言文件

    2017-12-14 11:10:29
    C语言文件打开模式总结  在C语言的文件操作语法中,打开文件文件有以下12种模式,如下图: 打开模式  只可以读   只可以写  读写兼备 文本模式 r w...


    C语言文件打开模式总结


        在C语言的文件操作语法中,打开文件文件有以下12种模式,如下图:


    打开模式

     只可以读 

     只可以写 

    读写兼备

    文本模式

    r

    w

    a

    r+

    w+

    a+

    二进制模式

    rb

    wb

    ab

     rb+ (r+b) 

     wb+ (w+b) 

     ab+ (a+b) 


        其中,二进制模式文本模式操作相似,只不过是以二进制流的形式读写而已,下面以文本模式为例分析:


        1."r" 模式

          1.1 打开文件进行“只读”操作,即只能从文件读取内容。

          1.2 若欲操作的文件不存在,则打开失败

          1.3 成功打开文件时,文件指针位于文件开头

          1.4 打开文件后,不会清空文件内原有内容。

          1.5 可从文件中任意位置读取内容。

        2."w" 模式

          2.1 打开文件进行“只写”操作,即只能向文写入内容

          2.2 若欲操作的文件不存在,则新建文件

          2.3 成功打开文件时,文件指针位于文件开头

          2.4 打开文件后,会清空文件内原有的内容。

          2.5 可向文件中任意位置写入内容,且进行写入操作时,会覆盖原有位置的内容。

        3."a" 模式

          3.1 打开文件进行“追加”操作,即只能向文件写入内容。

          3.2 若欲操作的文件不存在,则新建文件

          3.3 成功打开文件时,文件指针位于文件结尾

          3.4 打开文件后,不会清空文件内原有内容。

          3.5 只能向文件末尾追加(写)内容。

        4."r+"模式

          4.1 打开文件进行“读写”操作,即既可读取,又可写入

          4.2 若欲操作的文件不存在,则打开失败

          4.3 成功打开文件时,文件指针位于文件开头

          4.4 打开文件后,不会清空文件内原有内容。

          4.5 无论是读取内容还是写入内容,都可在文件中任意位置进行且进行写入操作时,会覆盖原有位置的内容。

        5."w+"模式

          5.1 打开文件进行“读写”操作,即既可读取,又可写入

          5.2 若欲操作的文件不存在,则新建文件

          5.3 成功打开文件时,文件指针位于文件开头

          5.4 打开文件后,清空文件内原有的内容。

          5.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。

        6."a+"模式

          6.1 打开文件进行“读写”操作,即既可读取,又可写入

          6.2 若欲操作的文件不存在,则新建文件

          6.3 成功打开文件时,文件指针位于文件结尾

          6.4 打开文件后,不会清空文件内原有内容。

          6.5 读取内容时,可以在任意位置进行,但写入内容时,只会追加在文件尾部


        附表格加强记忆:

     打开模式 

     简述 

     若欲操作的 

     文件不存在 

     成功打开文件后 

    文件指针位置

     是否清空 

     原有内容 

    读取位置

    写入位置

    r

    只读

    打开失败

    开头

     任意位置读取 

    不可写入

    -

    w

    只写

    新建

    开头

    不可读取

     任意位置写入 

     写入时会覆盖原有位置内容 

    a

    新建

    结尾

    不可读取

     只能尾部写入 

    -

    r+

    读写

    打开失败

    开头

     任意位置读取 

     任意位置写入 

     写入时会覆盖原有位置内容 

    w+

    新建

    开头

     任意位置读取 

     任意位置写入 

     写入时会覆盖原有位置内容 

    a+

    新建

    结尾

     任意位置读取 

     只能尾部写入 

    -



        不同的打开模式对应不同的操作方式,使用时需仔细规划。

    展开全文
  • C语言文件操作

    千次阅读 多人点赞 2017-09-09 00:34:10
    C语言文件操作一、文件的打开与关闭 使用 fopen 打开文件FILE *file; file = fopen("文件名","文件使用方式"); 文件的打开方式 文件使用方式 解释 r 只读。若文件不存在返回空指针 w 只写。若文件存在,则删除...

    C语言文件操作

    一、文件的打开与关闭

    1. 使用 fopen 打开文件

      FILE *file;
      file = fopen("文件名","文件使用方式");
    2. 文件的打开方式

      文件使用方式 解释
      r 只读。若文件不存在返回空指针
      w 只写。若文件存在,则删除其内容,否则创建一个新文件
      a 追加。若文件不存在,则创建一个新文件
      r+ 读写。指定的文件必须已存在,否则返回NULL
      w+ 读写。若指定的文件已存在,则其中的内容被删去
      a+ 读写。追加写

      如果在后面附加 ”b“ ,则表示打开的是二进制文件。

    3. 使用 fclose 关闭文件

      fclose(文件指针); 

    二、文件读写常用函数

    1. fgetc 函数
      从指定文件读入一个字符

      fgetc(文件指针);
    2. fread 函数

      从指定文件读入一组数据

      fread(buffer, size, count, file);

      buffer 存放读入数据的内存首地址

      size 每个数据项的字节数

      count 数据项个数

      file 文件类型的指针

    3. fscanf 函数

      从指定的文件中格式化读入数据。其一般形式为:

      fscanf(文件指针,格式控制,地址表);
    4. 读入例子

      
      #include<stdio.h>
      
      int main()
      {
         FILE *file;
         //1.dat 为 "Demo1"
         file = fopen("1.dat","r");
      
         char a;
         char b[3];
         int c;
      
         if(file != NULL){
             a = fgetc(file);
             fread(b,sizeof(char),3,file);
             fscanf(file,"%d",&c);
         }
      
         putchar(a);
         for(int i = 0; i < 3; i++){
             printf(" %c",b[i]);
         }
         printf(" %d",c);
      
         fclose(file);
         return 0;
      }
    5. fputc 函数

      将一个字符写到指定的文件中,若写成功返回以输出字符,否则返回 EOF

      fputc( int , FILE* );
    6. fwrite 函数

      将一组数据写到指定的文件中

      fwrite( buffer, size, count, file);

      buffer 输出数据的首地址

      size 每个数据项的字节数

      count 数据项个数

      file 文件类型的指针

    7. fprintf 函数

      格式化写数据到指定的文件中,形式为

      fprintf(文件指针,格式控制,输出表);
    8. 读写例子

      
      #include<stdio.h>
      
      int main()
      {
         FILE *file;
         //1.dat 为空
         file = fopen("1.dat","w+");
      
         char a0 = 'D';
         char b0[3] = {'e','m','o'};
         int c0 = 2;
         char a1;
         char b1[3];
         int c1;
      
         if(file != NULL){
             // 输出
             fputc(a0,file);
             fwrite(b0,sizeof(char),3,file);
             fprintf(file,"%d",c0);
             // 读写指针移动到文件开头
             rewind(file);
             // 读入
             a1 = fgetc(file);
             fread(b1,sizeof(char),3,file);
             fscanf(file,"%d",&c1);
         }
         // 打印结果
         putchar(a1);
         for(int i = 0; i < 3; i++){
             printf(" %c",b1[i]);
         }
         printf(" %d",c1);
      
         fclose(file);
         return 0;
      }
      

    三、文件的定位

    1. rewind 函数

      将文件的读写指针移动到文件的开头。

      rewind(文件指针);
    2. fseek 函数

      将文件的读写指针移动到文件的指定位置

      fseek(文件指针,偏移量,起始位置);

      偏移量的类型为长整型

      起始位置是指移动文件读写指针的参考位置,有以下三个值

      SEEK_SET 或 0 表示文件首

      SEEK_CUR 或 1 表示当前读写的位置

      SEEK_END 或 2 表示文件尾

    3. ftell 函数

      返回文件的当前读写位置,若出错返回(-1L)。其形式为

      ftell(文件指针);

    展开全文
  • c语言文件

    2020-05-18 18:04:31
    1.打开当前目录下名叫“data.in.txt”的文件 FILE *fp=fopen("data.in.txt","r");//如果打开了的话,返回一个指针 r为只读的打开方式,不存则返回NULL w为只写的打开方式,存则清,不存则建立 a为追加的打开方式,...

    1.打开当前目录下名叫“data.in.txt”的文件

    FILE *fp=fopen("data.in.txt","r");//如果打开了的话,返回一个指针
    

    r为只读的打开方式,不存则返回NULL
    w为只写的打开方式,存则清,不存则建立
    a为追加的打开方式,存则加,不存则建立
    有“+”的都可读写
    r+,写时:存则覆盖原有内存,不存返回NULL
    w+,写时,同w
    a+,写时同a
    2.关闭文件

     fclose(fp);
    

    3.读取文件中所有字符

    while(!feof(fp))//读取所有字符的方式,指针会自动后移
        {
            putchar(fgetc(fp));
        }
    

    4.往文件中写入字符串

    fputs(s,fp1);
    fputs("\n",fp);//写入回车
    

    5.光标回到文件开始

    rewind(fp);
    

    6.格式化写入数据

    fprintf(fp,"%d %s %c %.2lf %.2lf %.2lf %.2lf %.2lf\n",stu.number,stu.name,stu.sex,stu.score[0],stu.score[1],stu.score[2],stu.score[3],stu.score[4]);
    

    7.以数据块的方式写入文件,文件中显示的是二进制

    fwrite(&stu,sizeof(stu),1,fp);
    

    依次为:块的地址,大小,写入 的次数,写入的文件

    展开全文
  • C语言文件读取

    2021-05-15 10:33:40
    C语言文件读取 1.打开文件 使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件 FILE *fopen( const char * filename, const char * mode ); 注 字符串filename用来命名文件 mode的值可以是下列一个 1.r ...
  • C语言文件操作详解

    万次阅读 多人点赞 2015-12-11 16:46:40
    C语言文件操作函数 函数介绍 文件打开与关闭操作 fopen():文件打开操作 头文件:stdio.h 函数定义:FILE *fopen(char *pname, char *mode) 函数说明:pname是文件名,mode是打开文件的方式 mode:"r" 打开一...
  • C语言 文件操作

    2019-04-22 15:12:43
    C语言文件操作 文件结构体 FILE*fp; 打开文件,关闭文件 fopen() FILE*fp=fopen(“XXX.txt”,“w”) ; fclose() fclose(fp); fopen(“路径+文件名”,“打开方式”); 打开方式: 文件使用方式由r,w,a...
  • c语言文件之文件打开方式 打开文件 参数1:文件的路经(相对于可执行文件的相对路径或绝对路径 参数2:文件的模式 r 读模式 w 写模式 a 追加模式 + 读写模式 b 二进制模式 文件存在 各种模式都可以用 文件不存在 ...
  • C语言 文件

    2015-12-16 20:22:00
    文件的打开操作fopen 打开一个文件 FILE *fopen(const char*_restrict,const char*_restrict); FILE *是返回文件的内存...第二个const char*_rentrict是文件的读取方式 r,w,a 当mode为w的时候,如果文件不存在,...
  • C语言文件函数

    2017-05-08 22:46:18
    C语言文件函数1.说明:t(text): 文本文件,可省略不写 b(banary): 二进制文件 +: 读和写 name:要打开的文件的(路径)名字 mode:要打开的文件的模式 FILE:文件指针(结构体) 打开方式mode说明: r :以只读方式...
  • C语言可以对文件进行读写 仅仅使用文件的数据时分为以下几个步骤: 1.打开文件 2.读取文件 3.关闭文件 下面一个例子来说明文件操作的方法 打开文件的方法:定义指针,使用函数fopen("路径“,“r”)进行读取,打开...
  • C语言文件复制实例详解 文件复制,在Linux中,将生成的read.o 重新文件拷贝一份复制到ReadCopy.o中,并且更改ReadCopy.o文件的操作权限。使其能够正常运行。 实例代码: #include int main(){ FILE *r_file = ...
  • c语言 文件操作

    2015-05-10 17:04:17
    c语言 文件操作文件类型指针 FILE *fp; fp是一个指向FILE类型结构体的指针变量。文件的打开 FILE *fp; fp=fopen("文件路径","文件使用方式"); 其中,文件使用方式有r,w,a,rb,wb,rb(读写)等。若要打开的文件失败...
  • C语言文件操作函数

    2019-12-08 16:55:28
    C语言文件操作函数 函数介绍 文件打开与关闭操作 fopen():文件打开操作 头文件:stdio.h 函数定义:FILE *fopen(char *pname, char *mode) 函数说明:pname是文件名,mode是打开文件的方式mode:“r” 打开一个已经...
  • C语言 文件读写

    2021-06-07 10:37:26
    文件的分类: ​ 文本文件: 储存的是ASCII码值的二进制 ...​ r 以只读权限打开文件,如果该文件不存在,则打开失败,返回空指针 FILE* frp = fopen("./test.txt","r"); if(NULL == frp) { prrror("fopen");//
  • C语言文件基本操作

    2021-04-12 22:30:19
    C语言文件基本操作 基本例子: #include "stdio.h" int main(){ // 获取文件地址指针,或者叫句柄 FILE *fileHandler= fopen("这里写一个文件的绝对路径","r"); int ch; // 读取内容 while ((ch= getc...
  • C语言 文件笔记

    2019-12-20 17:24:05
    1. fopen(" 文件名 “,” 代号 "); 例如 : fp = fopen(“123.txt”, “w”); w:用于输出到文件里 新建一...而a是再原有的数据之后加上新的数据 r+也能写如到文件 但是r+写的文件是 从开头开始的 所以a的作用是追加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,010
精华内容 804
关键字:

c语言文件r

c语言 订阅