精华内容
下载资源
问答
  • C语言读写TXT文件

    2020-08-28 20:55:53
    我发现这样的博客不多,在B站上看了一个小时的视频,终于get了...r+ 以可读写方式打开文件,该文件必须存在。 rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。 w 打开只写文件,若文件存在则文件长度清为0,

    我发现这样的博客不多,在B站上看了一个小时的视频,终于get了这个技能,又可以水一篇博客了!

    TXT文件的读:

    首先是文件指针和打开文件的函数:

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

    (其中第一个双引号里是文件地址,文件地址必须用 \ \ 隔开,不然会出错,第二个是打开类型)

    打开类型汇总:

    • r 以只读方式打开文件,该文件必须存在。
    • r+ 以可读写方式打开文件,该文件必须存在。
    • rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。
    • w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
    • w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
    • a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
    • a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
    • wb 只写打开或新建一个二进制文件;只允许写数据
    • wb+ 读写打开或建立一个二进制文件,允许读和写。
    • ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

    举个例子就能更明白了:

    #include<stdio.h>
    int main()
    {
    	FILE *file;
    	file = fopen("C:\\Users\\lenovo\\Desktop\\prog.txt","r");
    	if(file==NULL)//如果未打开就提示读取错误
    	{
    	printf("read error");
    	} 
    	else
    	{
    	 printf("Yes");
    	 
    	}
    	 fclose(file)//文件关闭函数
     } 
    

    上面的例子就是读取文件的第一步打开文件。
    完成了这一步,才能继续学习下面的读取信息。
    想要读数据就要用函数:fgetc()
    那么我们在上边的代码中加入:

    char ch=0;
    ch =fgetc(file);
    printf("%c",ch);
    

    就可以输出TXT文件中的第一个字符了。
    如果想要读取很多的字符
    那么可以将char ch=0;改成char ch[]用for循环读取。
    在这里我补充一个经常会用到的读取方法吧。

    #include<stdio.h>
    int main()
    {
    	char ch[5];
    	char sh=0;
    	int i;
    	FILE *file;
    	file = fopen("C:\\Users\\lenovo\\Desktop\\prog.txt","r+");
    	if(file==NULL)
    	{
    		printf("read error");
    	 } 
    	 else
    	 {
    		sh =fgetc(file);
    	 	while(!feof(file))//常用循环,这样可以将文件所有内容读取出来
    		 {
    		 	printf("%c",sh);
    		 	sh=fgetc(file);
    		 } 
    	 }
    	 fclose(file);
     } 
    

    TXT文件的写:

    char sh;
    sh=fputc('a',file);
    

    上面的函数就是写入数据的重要函数
    如果写入的是单个字符是单引号,多个字符是双引号,其他数据因情况而改变。
    如果没有写入成功sh就是-1,因此可以用if语句判断有没有成功。
    在这里我仍然给大家一个实用的方法和函数:

    在这里插入代码片
    #include<stdio.h>
    
    typedef struct //定义一个结构块
    {
    	char name[24];
    	char ID[20];
    } STU;
    int main()
    {
    	STU class[5] =
    	{
    		{"zs","10086"},		
    		{"ss","10002"},
    		{"zz","10000"},
    	};  //调用结构快并填充数据。
    	char ch[5];
    	char sh=0;
    	int i;
    	FILE *file;
    	file = fopen("C:\\Users\\lenovo\\Desktop\\prog.txt","r+");
    	if(file==NULL)
    	{
    		printf("read error");
    	} 
    	else
    	{
    		fwrite(&class[0],sizeof(STU),1,file); 
    		//fwrite()函数同样是非常实用的函数
    		//fwrite(块地址,块大小,快数量,填入文件变量名),四个参数
    	}
    	fclose(file);
     } 
    

    如果大家还有什么不懂得地方,强烈推荐B站一个视频:
    点击观看

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

    千次阅读 2019-06-10 15:37:03
    C读写文件 使用 fopen(文件名,访问模式) 函数来打开文件,一般有getc/putc , ...以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。...

    C读写文件

    使用 fopen(文件名,访问模式) 函数来打开文件,一般有getc/putc , fgets/fputs , fscanf/fprintf , fread/fwrite 四大家族来读写文件。

    关于文件访问模式有如下的选择:

    访问模式 说明
    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    1、getc/putc家族读写文件

    ​ int getc(FILE *stream) :从文件读取字符, 一次读取一个字符,并把位置标识符往前移动。

    ​ 参数:指向 FILE 对象的指针

    ​ 返回值:以 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF。

    ​ int putc(int c , FILE *stream):将指定的字符输出到指定的输出流中,并把位置标识符往前移动。

    ​ 参数:c – 要被写入的字符,该字符以其对应的 int 值进行传递。

    stream – 指向 FILE 对象的指针

    ​ 返回值:以 int 的形式返回写入的字符,如果发生错误则返回 EOF

    使用示例:

    #include <stdio.h>
    //读一个字符
    int main(int argc,char *argv[])
    {
        FILE *p = fopen("/Users/Devin/Desktop/a.txt", "r");
        if (p == NULL)
        {
            printf("文件打开失败\n");
        }
        else
        {
            char c = 0;
            while( (c = getc(p)) != EOF)//EOF代表文件最后的一个结束标示
            {
                printf("%c", c);
            }
            //使用完,关闭文件
            fclose(p);
        }
        return 0;
    }
    
    //写一个字符
    int main(int argc,char *argv[])
    {
        FILE *p = fopen("/Users/Devin/Desktop/a.txt", "w");
        if (p == NULL)
        {
            printf("文件打开失败\n");
        }
        else
        {
            putc('a', p);
            putc('b', p);
            putc('c', p);
            fclose(p);
        }
        return 0;
    }
    
    

    2、fgets/fputs家族读写文件

    ​ char *fgets(char *s, int size, FILE *stream); 按行读取,当读到文件尾时结束,返回NULL。

    ​ 参数:s – 这是指向一个字符数组的指针,该数组存储了要读取的字符串。

    size – 这块内存的大小,

    stream – fopen返回的文件指针

    ​ 返回值:如果成功,该函数返回相同的 str 参数。如果为空或者错误返回空指针

    ​ int fputs(char *s, FILE *stream);按行写入。

    ​ 参数:s – 要写入的内容

    stream – fopen返回的文件指针

    ​ 返回值:写入成功返回非0,写入失败返回EOF。

    使用示例:

    //读
    int main(int argc,char *argv[])
    {
        FILE *p = fopen("/Users/Devin/Desktop/a.txt", "r");
        if (p == NULL)
        {
            printf("文件打开失败\n");
        }
        else
        {
            char s[1024] = { 0 };
            fgets(s, sizeof(s), p);
            printf("%s",s);
            fclose(p);
        }
        return 0;
    }
    //写
    int main(int argc,char *argv[])
    {
        FILE *p = fopen("/Users/Devin/Desktop/a.txt", "w");
        if (p == NULL)
        {
            printf("文件打开失败\n");
        }
        else
        {
            fputs("hello", p);
            fclose(p);
        }
        return 0;
    }
    
    

    3、fscanf/fprintf家族读写文件

    ​ int fscanf(FILE *stream, const char *format, …):fscanf与scanf用法基本一致,fscanf是从一个文件读取输 入,scanf是从键盘读取输入

    ​ 参数:stream – 指向 FILE 对象的指针

    format – 格式化输入

    ​ 返回值:该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF。

    ​ int fprintf(FILE *stream, const char *format, …)

    ​ 返回值:返回写入的字符总数,否则返回一个负数。

    使用示例:

    //读
    int main(void)
    {
        //文件内容为:1 + 2
        FILE *p = fopen("/Users/Devin/Desktop/a.txt", "r");
        while(!feof(p))
        {
            int a = 0;
            int b = 0;
            fscanf(p, "%d + %d", &a, &b);
            printf("a = %d, b = %d\n", a, b);
            //输出a = 1, b = 2
        }
        fclose(p);
        return 0;
    }
    //写
    int main()
    {
        FILE *p = fopen("/Users/Devin/Desktop/a.txt", "w");
        int arr[10] = {1,2,3,4,5,6,7,8,9,10};
        int i;
        for(i = 0; i < 10; i++)
        {
            fprintf(p, "arr[%d] = %d\n", i, arr[i]);
        }
        fclose(p);
        return 0;
    }
    

    4、fread/fwrite家族读写文件

    ​ size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream):从文件流中读数据

    ​ 参数:ptr – 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。

    	   **size** -- 这是要读取的每个元素的大小,以字节为单位。
    

    nmemb – 要读nmemb个数据项,每个数据项size个字节。

    stream – 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。

    ​ 返回值:成功读取的数据项总数

    ​ size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream):向指定的文件中写入数据

    ​ 参数:ptr – 这是指向要被写入的元素数组的指针。

    size – 这是要被写入的每个元素的大小,以字节为单位。

    nmemb – 要读nmemb个数据项,每个数据项size个字节。

    stream – 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输出流。

    ​ 返回值:成功写入的数据项总数

    使用示例:

    //写
    int main(void)
    {
        struct student st = {"小明", 10};
        FILE *p = fopen("/Users/Devin/Desktop/a.dat", "wb");
        fwrite(&st, sizeof(st), 1, p);
        fclose(p);
        return 0;
    }
    
    //读
    int main(void)
    {
        struct student st;
        FILE *p = fopen("/Users/Devin/Desktop/a.dat", "rb");
        fread(&st, sizeof(st), 1, p);
        fclose(p);
        printf("name = %s, age = %d\n", st.name, st.age);
        return 0;
    }
    
    
    
    展开全文
  • 文件类型分为:流文件和设备文件 设备文件比如:VGA接口,串口,usb口,网口,串口,这些接口...当我们写程序的时候默认已经帮我们打开了三个文件 分别是:  stdin:标准输入 stdout:标准输出 stderr:标准出错
    1. 文件类型分为:流文件和设备文件,设备文件比如:VGA接口,串口,usb口,网口,串口,这些接口都被操作系统抽象成为了文件。
    1. 当我们写程序的时候默认已经帮我们打开了三个文件

      分别是: stdin:标准输入,stdout:标准输出,stderr:标准出错,scanf实际上接收的是标准输入的数据,这时候的标准输入就是我们的键盘。

              

      有四种方式清空缓冲区:

         A、加’\n’;

               B、程序正常退出;

         C、通过fflush(stdout)也可以清空缓冲区。

         D、缓冲区用满了自动清空缓冲区(程序总默认的缓冲区大小是8192字节(这是C标准定义的))。

    如果设计缓冲区,最好使用队列的方式进行设计。C语言中使用缓冲区的原因是为了提高缓冲区。我们所说的刷新缓冲区是指刷新stdout这里面的缓冲区。

    3、观察以下文件:

      

        (1)当加上了’\n’(行缓冲刷新,当遇到磁盘文件的时候,这个’\n’就不好使了)之后,效果图如下:

        

         这时候可以打印出helloworld,说明‘\n’可以使程序打印出来结果。

        (2)、注释while(1);这次程序运行结果如下:

        

                上面的现象说明:如果程序正常退出,同样能够打印出helloworld

               (3)使用fflush(stdout);同样可以将字符串输出。

              

        (4)第四种方式是等待程序中的缓冲区使用完了。

         

         上面的这种方式说明,如果缓冲区满了,同样可以打印出结果值。

         总结:有四种方式清空


       4、查看头文件中定义的方式是cd /usr/include

            查看cat libio.h可以查看到FILE

                

                     

                 FILE本质:

            

    fopen:打开文件,参数类型是:FILE *fopen(const char *path,const char *mode);

        其中第一个参数表示要打开的文件的路径,mode表示访问属性:读写附加,fope最后返回的是一个文件指针类型(这里的路径可以是相对路径和绝对路径,建议使用绝对路径),它是FILE类型,是一个结构体。FILE是一个结构体,是通过typedef定义出来的FILE.

    FILE类型:

      

    mode类型有6种:

    mode文件类型

    操作方式

    r

    以读的方式打开文件,读写指针的位置,在文件开头

    w

    写打开文件,如果文件不存在,创建文件,如果文件存在,截断源文件(所谓的源文件是指只出现一部分内存),读写指针在文件开头

    a

    追加写打开文件,如果文件不存在,创建文件,

    r+

    可读可写的方式打开文件,如果文件不存在,也不创建

    w+

    可读可写打开文件,如果文件不存在,则创建文件,如果存在,则截断

    a+

    可读可写追加打开文件,如果文件不存在,则创建

    Window操作系统多出的方式

     

    rb

    操作的是二进制文件,其它含义同r

    wb

     

    ab

     

    fclose:关闭文件,参数类型是:int fclose(FILE *fp);参数中的表示制定的文件。要注意的是fclose实际上也调用了fflush()函数。

      

    注意:上面的”w“可以改成a

       根据文件自有属性,确定打开文件的属性,注意越权访问。

       打开文件的时候,如果成功放回的是一个指针,如果失败返回的是NULL

                  

           操作系统默认打开的最大文件数量是1024,但是这个最多文件数量是可以修改的。

                  

                    

        5、文件操作函数:

           fgets:每次从系统中读出一行。原型:int *fgets(char *s,int size,FILE *stream); 最终将内容存储到size中。

           参数:

           *s:字符型指针,指向用来存储所得数据的地址。

                 size:整型数据,致命存储数据的大小。

                 *stream:文件结构指针,将要读取的文件流。

                 返回值:

                      1、成功,则返回第一个参数s

             2、在读字符时遇到end-of-file,eof指示器备设置,如果还没有读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;

                      3、如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。

             

            fputs:往文件中写一行,原型:int fputs(const char *s,FILE *stream);     

                   

                   运行结果如下:

                    

           文件拷贝的代码:

            

                 

                  fgetc:一次读一个字符函数原型:int fgets(FILE *fp),返回一个被读的一个字符。当读错了时返回EOF

                         意为:从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节。

                    

                     fgetc()会返回读取到的字符,若返回EOF则表示到了文件尾,或出现了错误。

                              范例

                    

                     fputc:

                             函数名称:写字符文件函数fputc();

                             函数格式:int fputc(int n,FILE *fp)

                             参数解释:fp为文件指针,它的值是执行fopen()打开文件时获得的。

                             n为输出的字符量。

                             虽然函数被定义为整形数,但仅用其低八位。

                             返回值:在正常调用情况下,函数返回读取字符的ASCII码值,出错时,返回EOF(-1),当正确写入一个字符或一个字节

                                      的数据后,文件内部写指针会自动后移一个字节的位置。EOF是在头文件stdio.h中定义的宏。

                 

                

                 

          
          size_t fread(void *ptr,size_t size,size_t nmemb,FILE *fp);是一个函数。从一个文件流中读数据,最多读nmemb个元素,每个元素size个字节,如果调用成功返回实际读取到的元素个数,如果不成功返回0 
          以记录的方式度文件,每个记录的大小为size,要读nmemb个元素,size_t fread(void *ptr,size_t size,size_t nmemb,FILE *fp);  *fp中读 nmemb表示请求多少个元素。size:表示读多少,读到*ptr中,这里的fread也是以二进制方式进行读。 

               fwrite:以记录的方式写文件,fwrite写的是一个二进制。

    函数原型:size_t fwrite(const void* buffer,size_t size,size_t count,FILE *stream);

    注意:这里的函数以二进制形式对文件进行操作,不局限域文本文件

    返回值:返回实际写入的数据块数据

    1. buffer:是一个指针,对fwrite来说,是要获取数据的地址;

    2. size:要写入内容的单字节数

    3. count:要进行写入size字节的数据项的个数。

    4. stream:目标文件指针;

    5. 返回实际写入的数据项个数count.(size_t32位平台上是unsigned int,64位平台上是long unsigned int)

      fflush(FILE *fp):刷新缓冲区

              

     fflush(FILE *fp)

          

           当程序自动退出的时候,也能调用fflush()了。当main函数return的时候调用了函           数刷新方法。exit(main());   会关闭打开的文件,释放申请的内存。 

           feof:测试文件是否达到了末尾

    1. fseek

    2. fseek中的第二个参数过大时,这文时候表示拓展一个件。注意要拓展的时候在第二次执行写操作的时候才真正拓展文件。

      rewind:将读写指针文件的指针指向文件开头。但是功能是fseek的功能强,可以理解是rewind调用了fseek.

    
    展开全文
  • C语言专项试题 文件一、填空题1. C语言中规定的标准文件有三个,即 、 和 。2. 指向C语言中规定的标准文件的指针分别是: 、 和 。3. C程序中对普通文件进行读写操作,必须先 ,操作...5. 用 方式打开一个文件时,该...

    C语言专项试题 文件

    一、填空题

    1. C语言中规定的标准文件有三个,即 、 和 。

    2. 指向C语言中规定的标准文件的指针分别是: 、 和 。

    3. C程序中对普通文件进行读写操作,必须先 ,操作后再 。

    4. 在C语言中,文件操作都是由标准库函数来完成的,对应的头文件是 。

    5. 用 方式打开一个文件时,该文件必须已经存在,且只能从该文件读数据。

    6. 在对文件存在的过程中,若要求文件的位置回到文件的开头,应当调用的函数是 函数。

    二、选择题

    1. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 。

    A.2和2B.2和5C.5和2D.5和5

    2. 若执行fopen函数时发生错误,则函数的返回值是 。

    A.地址值 B.0 C.1 D.EOF

    3. 若要用fopen函数打开一个新的二进制文件,该文件既要能读也能写,则文件打开方式字符串应是 。

    A."ab+" B."wb+" C."rb+" D."ab"

    4. 函数ftell的作用是 。

    A.得到流式文件中的当前位置。B.移动流式文件的位置指针。

    C.初始化流式文件的位置。 D.以上答案均正确。

    5. 系统的标准数入文件是指 。

    A.键盘 B.显示器 C.软盘 D.硬盘

    6. fscanf函数的正确调用形式是 。

    A.fscanf(fp,格式字符串,输出表列)。

    B.fscanf(格式字符串,输出表列,fp)。

    C.fscanf(格式字符串,文件指针,输出表列)。

    D.fscanf(文件指针,格式字符串,输入表列)。

    7. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是 。

    A.只写 B.追加

    C.读或读写 D.答案b和c都正确

    8. 函数调用语句 fseek(fp,-20L,2);的含义是 。

    A.将文件位置指针移到距离文件头20个字节处。

    B.将文件位置指针从当前位置向后移动20个字节。

    C.将文件位置指针从文件末尾处后退20个字节。

    D.将文件位置指针移到离当前位置20个字节处。

    9. 利用fseek函数可实现的操作 。

    A.fseek(文件类型指针,起始点,位移量)。

    B.fseek(fp,位移量,起始点)。

    C.fseek(位移量,起始点,fp)。

    D.fseek(起始点,位移量,文件类型指针)。

    10. fgets(str,n,fp)的函数的概念是从文件中读出字符串存如str,以下叙述正确的是 。

    A.n代表最多能读出n个字符串。B.n代表最多能读出n个字符。

    C.n代表最多能读出n-1个字符串。D.n代表最多能读出n-1个字符。

    11. 下列叙述正确的是 。

    A.EOF只能作为文本文件的结束标志,feof()则可以判断文本文件和二进制文件的结束标志。

    B. feof()只能判断文本文件的结束标志,EOF则可以作为文本文件和二进制文件的结束标志。

    C.EOF只能作为文本文件的结束标志,feof()只能判断二进制文件的结束标志。

    D.EOF只能作为二进制文件的结束标志,feof()只能判断文本文件的结束标志。

    12. 设已正确打开一个已经存在的文本文件,文件中原有数据为abcdef,新写入的数据为xyz;若文件中的数据变为xyzdef,则该文件打开的方式是 。

    A.w B.w+ C.a+ D.r+

    13. 若fp为文件指针,且文件已正确打开,以下语句的输出为 。

    fseek(fp,0,SEEK_END);

    i=ftell(fp);

    printf("i=%d",i);

    A.所指文件的记录长度。

    B.所指文件的长度,以字节为单位。

    C.所指文件的长度,以比特为单位。

    D.所指当前文件的位置,以字节为单位。

    14. 文件函数rewind()的概功能是 。

    A.使文件fp的位置指针指向文件开始。

    B.使文件fp的位置指针指向文件末尾。

    C.使文件fp的位置指针指向文件中间。

    D.使文件关闭。

    15. 以下叙述不正确的是 。

    A.C语言中的文本文件以ASCII码形式存储数据。

    B.C语言中对二进制文件的访问速度比文本文件快。

    C.C语言中,随

    展开全文
  • c语言读写文件

    2017-08-06 15:24:45
    //以w的方式打开,文件会被清空;文件不存在会创建 //以r的方式打开文件必先存在,否则会打开错误 //+表示同时可读可写 FILE *fp = fopen("1.txt","r+"); if(fp) { char *p = "hello1"; fwrite(p,1,strlen.....
  • C语言文件操作 1、文件概念 在程序设计中谈到的文件一般指的是:程序文件和数据文件 程序文件: 主要包括以下几部分: 1、程序文件(.c) 2、目标文件(windows环境后缀为.obj) 3、可执行程序(windows环境后缀为....
  • 前面我们了解到标准I/O库函数的文件有两个处理方式:缓冲文件系统和非缓冲文件系统。由于标准的ANSI决定不采用非缓冲文件系统,而只采用缓冲文件系统,即既使用缓冲文件系统处理文本文件,也使用它来处理二进制文件...
  • c语言文件读写方式

    2010-03-11 23:15:00
    文件使用方式 意义 “rt” 只读打开一个文本文件,只允许读数据 “wt” 只写打开或建立一个文本文件,只允许写数据 “at” 追加打开一个文本文件,并在文件末尾写数据 “rb” 只读打开一个二进制文件,只允许读数据 ...
  • C语言读写文件有两种方式ASCII 和 二进制。现在举例说明: 内存中的字符或字符串都是文本模式(unicode编码存储,统一长度,定长码,方便)内存中的其他变量都是以二进制编码存储程序的代码以文本模式ASCII码方式...
  • 打开文件 参数1:文件的路经(相对于可执行文件的相对路径或绝对路径 参数2:文件的模式 r 读模式 w 写模式 a 追加模式 + 读写模式 b 二进制模式 文件存在 各种模式都可以用 文件不存在 读模式下会返回错误 写...
  • 打开文件的函数原型 FILE *fopen( const char * filename, const char * mode ); 读、写文件的几种模式 模式 描述 r(read) 具有文件的读权限。 w(write) 具有文件的写权限。 a(append) 在文件...
  • 2. 以文本新式打开 读写文件代码 void Cvs2008_SX_jiaocheng12View::OnFileWritefile() { // TODO: 在此添加命令处理程序代码 //C语言方式 FILE *pFile = fopen("1.txt","w");//Opens an empty file for ...
  • 如何用C语言读写文件

    2014-08-25 09:51:00
    #include "stdio.h"#include <stdlib.h> main(){ FILE *fp1;//定义文件流指针,用于打开读取的文件 FILE *fp2;//定义文件流指针,用于打开写操作的文件 char text[1024];...//只读方式打开文件a...
  • c语言打开文件方式

    千次阅读 2014-04-17 23:45:21
    'r+' 读写方式打开,将文件指针指向文件头,如果文件不存在,则File返回空。 'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 'w+' 读写方式打开,将文件指针指向文件...
  • C语言文件读写

    2017-09-20 11:30:02
    C语言文件读写1、由于C是缓冲写 所以要在关闭或刷新后才能看到文件内容 ...FILE *pFile = fopen("1.txt", //打开文件的名称 "w"); // 文件打开方式 如果原来有内容也会销毁 //向文件写数据 fwrite ("h
  • C语言文件打开方式简介

    千次阅读 2016-09-06 23:07:54
    1、“r”以只读方式打开一个文件; 2、“w”以只写方式打开一个...7、"r+"以读写方式打开一个文件; 8、“w+”以读写方式建立一个文件; 9、“a+”以读写方式打开一个文件追加; 10、“rb+”以读写方式打开一个二
  • r+: 以可读写方式打开文件,该文件必须存在。 rb+: 读写打开一个二进制文件,只允许读写数据。 rt+: 读写打开一个文本文件,允许读和写。 w: 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件...
  • 转载自:C语言文本方式和二进制方式打开文件区别 我们都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?我觉得,对于编程人员,文本文件和二进制文件就是一个声明,指明了你...
  • C语言 按行读写文件

    2019-11-16 15:40:10
    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> ... //"w+",读写方式打开,如果文件不存在,则创建\ 如果文件存在,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 459
精华内容 183
关键字:

c语言读写方式打开文件

c语言 订阅