首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C】文件操作

, 文件不存在会创建新的文件, 文件存在会首先清空原有内容 a+ - 以追加方式读写文件, 文件不存在会创建新的文件, 文件存在从文件尾开始写文件 如果是操作二进制文件, 那么需要在mode里加上b,...r - read, 读 w - write, 写 a - append, 追加 t - text, 文本文件, 可省略不写 b - binary, 二进制文件 + - 读和写 新的修饰符 x 在C2011...写文件 在C中有多种方式可以读写文件, 下面将具体介绍它们 fputc 将一个字符写入到fp所指向的输出流中(不只是文件输出流), 写入成功会返回写入的字符, 写入失败会返回EOF, 函数原型为 int...该函数的原型为: char * fgets ( char * str, int num, FILE * stream ); fgets从stream中读取内容到str, 当满足下面任意一个条件时完成读取操作...(c, 5, fp); printf("c is '%s'\n", c); printf("c length is %ld\n", strlen(c)); // 重置文件指针到文件开头

60110

文件操作——C语言

D: \ C语言 \ study.c \ text.txt 为了方便,文件标识常被成为文件名。...流: 我们程序的数据需要输出到各种的外部设备,当然也需要从外部设备中获取数据,不同的外部设备的输入和输出的操作各不相同,为了对各种设备进行方便的操作,我们抽象出了流的概念,可以抽象的理解成流淌着字符的河...在C语言程序中对文件、画面、键盘等数据的输入输出操作都是通过流操作的。 一般情况下,我们想要向流里写数据,或者从流中读取数据,都是要打开流,然后操作。...C语言中,就是通过FILE* 的文件指针来维护流的各种操作的。 文件指针: 在缓存文件系统中,关键概念就是 "文件指针类型" ,简称 ”文件指针“。...=NULL); //文件操作 int ch = fgetc(pf); printf("%c\n", ch);//I ch = fgetc(pf); printf("%c\n", ch);//

10710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言-文件操作

    为什么要进行文件操作: 写通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯 录程序的时候,数据又得重新录入...什么是文件 存储在硬盘上面的就是文件,文件又分为程序文件和数据文件 程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。...文件的打开和关闭 每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的 名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。...文本文件和二进制文件 根据数据的组织形式,数据文件被称为 文本文件 或者 二进制文件 。 数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是 二进制文件 。...如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓 冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的大小根 据C 编译系统决定的。

    8910

    C语言——文件操作

    C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 内存中的程序向文件输出内容是写文件,文件向内存中的程序输入是读文件。...C语⾔中,就是通过 FILE* 的⽂件指针来维护流的各种操作。...打开文件夹,我们可以看见创建了一个新的文件test.txt 文件具体操作 顺序读写 接下来的这些函数是按顺序来进行读或者写操作的。...(c = 'a'; c c++) { fputc(c, fp); } 我们可以看到,它清空了原来的字符进行了新的写操作,这里需要注意的是 是否清空原来的字符主要是跟我们打开文件的方式有关系...) { //打开失败 perror("fopen"); return 1; } //打开成功 //进行操作 printf("%c", fgetc(fp)); printf("%c

    7010

    C语言文件操作

    程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)。 数据文件是什么?...C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。...缓冲区的大小根据C编译系统决定的。 因为有缓冲区的存在,C语⾔在操作⽂件的时候,需要做刷新缓冲区或者在⽂件操作结束的时候关闭⽂ 件。 如果不做,可能导致读写⽂件的问题。...在不同的C编译器的FILE类型包含的内容不完全相同,但是⼤同⼩异。 我们可以创建一个文件指针变量 FILE* pf;//⽂件指针变量 定义pf是⼀个指向FILE类型数据的指针变量。...fgets和fputs fgets从流中获取字符串并将其作为C字符串存储到str中,直到读取(num-1)个字符,或者到达换行符或文件结束符,以先发生的为准。

    6010

    C语言-文件操作

    二进制文件和文本文件 2.1 数据⽂件 在C语言文件操作中主要学习的是对于数据文件的操作 数据文件不是用来保存程序的,而是用来保存程序运行后产生的数据 2.2 文本文件 文本文件是以人类可读的字符形式存储数据的文件...在C语言中,使用标准的文件I/O函数(比如fprintf、fscanf、fgets、fputs等)来处理文本文件是很方便的。这些函数可以直接读取和写入文本文件中的文本数据,并且适合于处理文本内容。...由于二进制文件不以人类可读的形式存储数据,它们无法直接用文本编辑器打开和阅读。 在C语言中,处理二进制文件需要使用fread和fwrite等函数,这些函数可以直接读取和写入二进制数据。...通过使用标准库中提供的函数,比如fopen、fclose、fread、fwrite等,可以操作流并对数据进行读写操作。 在C语言中,流是以FILE结构表示的,每个流都对应着一个FILE类型的指针。...通过这个文件指针,程序可以对文件进行读取、写入等操作,实现了对文件的间接访问和控制。 因此,虽然文件指针变量本身并不直接指向文件的实际内容,但通过它可以间接地找到与其关联的文件,并对文件进行操作。

    9310

    C语言文件操作

    2.1 程序⽂件 程序文件分为源程序文件.c,目标文件.obj,可执行文件.exe。...2.3 ⽂件名 一个文件要有一文件标识包含三部分,第一个是路径,第二个是文件主干,第三个是文件后缀 例如: c:\code\test.txt 为了⽅便起⻅,⽂件标识常被称为⽂件名。 3....这是默认打开了这三个流,我们使⽤scanf、printf等函数就可以直接进⾏输⼊输出操作的。stdin、stdout、stderr三个流的类型是: FILE* ,通常称为⽂件指针。...C语⾔中,就是通过 FILE* 的⽂件指针来维护流的各种操作的。 4.2 ⽂件指针 缓冲⽂件系统中,关键的概念是“⽂件类型指针”,简称“⽂件指针”。...*/ #include int main () { FILE * pFile; //打开⽂件 pFile = fopen ("myfile.txt","w"); //⽂件操作

    6100

    C语言 文件操作

    包括源程序文件(.c),目标文件(.obj)可执行文件(.exe)         数据文件 文件内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件....文件名         一个文件要有唯一的文件标识,方便用户识别和引用         文件包括 路径+名字+后缀         例如 C;\a\a.txt         文件标识一般称为文件名        ...,也需要从外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。...C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。         ...标准流          C语言程序在启动的时候,默认打开 stdin stdout stderr三个流,分别是标准输入流,标准输流, 标准错误流.

    9210

    C语言——文件操作

    文件名包含3部分:文件路径+文件名主干+文件后缀 例如: c:\code\test.txt 为了方便起见,文件标识常被称为文件名。...10 个整数值,每个整数占 4 个字节 fclose(fp); return 0; } 8.fwrite fwrite函数是C/C++中的一个文件写入函数,用于将数据写入文件。...7.文件的随机读写 1.fseek seek函数是C标准库中的文件操作函数之一,用于在打开的文件中移动文件指针的位置。...3.rewind 让文件指针的位置回到文件的起始位置 void rewind ( FILE * stream ); 在编程中,rewind函数是C语言标准库中的一个文件操作函数,它的作用是将文件指针重置为文件开头...pf = NULL; return 0; } 这里可以得出一个结论: 因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件。

    11110

    C语言----文件操作

    ⼊输出 操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流 想象成流淌着字符的河。...C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。...C语⾔中,就是通过 FILE* 的⽂件指针来维护流的各种操作的。 文件指针 缓冲⽂件系统中,关键的概念是“⽂件类型指针”,简称“⽂件指针”。...第三个参数就是可变参数列表 而printf的参数没有第一个,因为printf默认操作的就是stdout fprintf可以适用于所有的操作流,可以适用于文件流,也可以适用于标准输出流 fprintf将数据写到文件内...⾔在操作⽂件的时候,需要做刷新缓冲区或者在⽂件操作结束的时候关闭⽂件。

    7910

    【C】文件操作(二)

    前言 这里主要记录一下C对二进制的读写操作, 包括随机读取文件和写入文件 fseek 和 ftell fseek fseek主要用来移动文件指针, 它允许用户像对待数组那样对待一个文件, 可以直接将文件指针移动到任意字节处...0200 0000 0300 0000 0400 0000 0500 0000 0600 0000 0700 0000 0800 0000 0900 0000 0a00 0000 0b00 0000 0c00...该函数应该在文件刚被打开时调用, 不能在进行了读写操作之后再调用. 如果buffer的为NULL, 就表示禁用缓冲区....); 其中 stream表示操作的文件, buffer为指定的缓冲区首地址, 如果缓冲区为NULL, 系统会自动创建一个大小为size的缓冲区, mode为缓冲区的类别, size为缓冲区的大小, 其中...mode的值可以为下面几个: _IOFBF - 全缓冲(Full buffering), 当缓冲区满时才执行真正的I/O操作, 例如对磁盘文件的读写.

    45810

    C语言文件操作

    C 语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为 ASCⅡ 文件和二进制文件。...文件的操作包括:文件的打开、文件的关闭、文件的读写操作、文件状态检查以及文件的定位等。...mode:是一个指向文件处理方式字符串的字符指针。 1.4 返回值 正常返回:被打开文件的文件指针。 异常返回:NULL,表示打开操作不成功。...此时调用操作系统提供的文件关闭功能,关闭由 fp->fd 指出的文件;释放由 fp 指出的文件类型结构体变量;返回操作结果,即 0 或 EOF。 2.3 参数说明 fp:一个已打开文件的文件指针。...ANSI C 定义了 base 的可能取值,以及这些取值的符号常量。 5.2.4 返回值 正常返回:当前指针位置。 异常返回:-1,表示定位操作出错。

    12.7K11

    C语言文件操作

    当然有了,这就要提到了我们的文件操作         使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的持久化 一、文件的打开和关闭         1.1 文件指针         每当打开一个文件的时候...我们可以创建一个文件指针变量         1.2 文件的打开和关闭         在进行文件的读写操作之前我们要先打开文件,使用完之后要关闭文件         因此需要用到两个库函数fopen和...,下次运行的时候现把通讯录文件的内容读取到程序中就可以了         在写入文件的时候我们可以一个人的信息写一次,一个一个的把输入好的信息直接存入到文件中 void save_context(context...来看看效果吧 三、通讯录全代码          代码奉上         text.c #define _CRT_SECURE_NO_WARNINGS 1; #include"context.h"...//销毁通讯录 void distory_context(context* pc); //保存通讯录 void save_context(context* pc);         context.c

    8510

    【C语言】文件操作

    在程序设计中,我们所讨论的文件从功能的角度划分为两种:程序文件、数据文件 程序文件:包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe...'c'到文件里面去 #include int main() { //打开文件 FILE* pf = fopen("test.txt", "w");//我们要写数据进去 if...('c', pf); fclose(pf);//关闭文件 pf = NULL;//置空 return 0; } 此时没有发生任何错误,成功写入,这里,每一次调用这个函数,文件的光标就会自动后移...比如我们还是从"test.txt"这个文件中读,此代码只写读文件的部分,打开文件和关闭文件跟上面是一样的,替换一下就好了 //读文件 int ch = fgetc(pf); printf("%c",...ch); ch = fgetc(pf); printf("%c", ch); ch = fgetc(pf); printf("%c", ch); 读文件,然后打印出来 如果想读文件中所有内容,可以用循环

    9010

    C语言文件操作

    2.1程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(Windows环境后缀为.exe)。...流是一个抽象的概念,我们把需要操作的各种各样的数据类型称为数据流。 这三个的类型都是FILE* 如何将字符写入文件/屏幕当中? 从文件中写入字符 我们使用fputc函数进行写入字符。...sprintf / sscanf的应用 、 前面都是将文本数据作为操作对象,现在我们用二进制作为操作对象 应用到fread和fwrite函数 fwrite的第一个参数是ptr指向的数据要被写入文件,接着我们要写...,模式变为wb if (pf == NULL) { perror("fopen"); return 1; } struct S s = { 10,3.14f,'c' }; //写文件操作...= EOF)//标准C I/o读取文件循环 { putchar(c); } //判断是什么原因结束的 if (ferror(fp)) puts("I/0 error when reading

    6710
    领券