首页
学习
活动
专区
圈层
工具
发布

【C语言】文件操作(1)

(大部分编译器都能打开并正常显示出数据) 文件的打开和关闭 流和标准流 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,我们程序员就是个写代码...C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流当中转站操作的。 所以我们想要读取数据或者输入数据从某外部设备中,都是必须要打开对应的流才能操作。...• stdin(指向标准输入流) - 标准输⼊流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。...如果存在该文本文件,则打开该文本文件,且只能对该文件的数据进行读取使用(不能输入数据对该文件进行修改)。 ”w“:如果不存在该文本文件,则建立一个新的文本文件。...如果存在该文本文件,则打开该文件(不会格式化该文件),保留原来的内容并继续追加数据输入到文件中(不能读取该文件) 其总共有12种打开方式,这里我们只讲三种(对于有r字符的打卡方式,都是不存在该文件则返回

1.2K10

【C语言加油站】C语言文件操作详解:从“流”的概念到文件的打开与关闭​

1.2 标准流 那为什么我们从键盘输⼊数据,向屏幕上输出数据,并没有打开流呢?...那是因为C语⾔程序在启动的时候,默认打开了3个流: stdin标准输⼊流:在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。...每当打开⼀个⽂件的时候,系统会根据⽂件的情况⾃动创建⼀个FILE 结构的变量,并填充其中的信息,使用者不必关心细节。...为了输入数据,打开一个已经存在的文本文件 rb:只读操作。为了输入数据,打开一个二进制文件 r+:读写操作。为了读和写,打开一个文本文件 rb+:读写操作。...很简单,我们只需要在文件名的前面加上其所在路径即可: 从测试结果中我们可以看到,我们最开始通过仅读模式在指定路径中打开该文件时,由于不存在这个文件,因此返回空指针; 从 perror 的报错中我们也能获取相关信息

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

    C语言:文件操作详解

    但是这样的方式显然不能达到永久保存数据的目的,所以我们需要把信息输出到磁盘的文件中,当我们需要的时候再通过磁盘中的文件将数据读取到内存中去使用!...4.1 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,为了方便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河...因为在C语言程序启动的时候,默认打开了3个流: • stdin - 标准输⼊流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。...perror函数就是将错误的信息输出到标准输出流中       有了这三个流,我们就可以通过scanf/printf/perror函数来进行输入和输出操作。      ...也就是说,我们每当打开一个文件,系统就会根据文件的情况况⾃动创建⼀个FILE结构的变量,并填充其中的信息,使⽤者不必关⼼细节。

    2.1K10

    【C语言】深度探讨文件操作(一)

    根据数据的组织形式,数据文件被称为文本文件或者二进制文件。 数据在内存中以二进制的形式存储,如果不加转换的输出到外存的文件,则需要在存储前转换。以ASCll字符的形式存储的文件就是文本文件。...:10 27 00 00 文件的打开和关闭 流和标准流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据数据,不同外部设备的输入输出的操作各不相同,为了方便程序员对各种设备进行方便的操作...C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。...那是因为C语言程序在启动的时候,默认打开了3个流: stdin - 标准输入流,在大多数的环境中从键盘输入,scanf函数就是从标准输入流中读取数据。...fgetc函数从指定的文件流中读取一个字符并返回其ASCII码值。

    1.3K10

    【C语言】文件操作详解 - 从打开到关闭

    其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上文件。 3. 如何标识文件? ⼀个文件要有⼀个唯一的文件标识,以便用户识别和引用。...二进制文件和文本文件? 根据数据的组织形式,数据文件被称为文本文件或二进制文件。 数据在内存中以二进制的形式存储,如果不加转换的输出到外存的⽂件中,就是二进制文件。...以ASCII字符的形式存储的文件就是文本文件。 那么一个数据在文件中是如何存储的呢? 字符⼀律以ASCII形式存储,数值型数据既可以用ASCII码形式存储,也可以使用二进制形式存储。...那是因为C语言程序在启动的时候,默认打开了3个流: • stdin: 标准输入流,在大多数的环境中从键盘输入,scanf函数就是从标准输⼊流中读取数据。...每当打开一个文件的时候,系统会根据文件的情况自动创建⼀个FILE结构的变量,并填充其中的信息,使用者不必关心细节。

    1.2K10

    文件操作知识

    ⽂件的打开和关闭 4.1 流和标准流 4.1.1 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,...⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作. 4.1.2 标准流 那为什么我们从键盘输⼊数据,向屏幕上输出数据,并没有打开流呢?...那是因为C语⾔程序在启动的时候,默认打开了3个流: 1️⃣stdin - 标准输⼊流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据. 2️⃣stdout - 标准输出流,⼤多数的环境中输出...⾄显⽰器界⾯,printf函数就是将信息输出到标准输出 流中. 3️⃣stderr - 标准错误流,⼤多数环境中输出到显⽰器界⾯....含义 如果指定文件不存在 "r"(只读) 为了输入数据,打开了一个已经存在的文本文件 出错 "w"(只写) 为了输出数据,打开一个文本文件 建立一个新的文件 "a"(追加) 向文本文件尾添加数据 建立一个新的文件

    20210

    C语言-文件操作

    文本文件可以被文本编辑器打开并直接阅读,因为它们使用了人类可识别的字符编码(比如ASCII或Unicode)来表示数据。...在C语言中,使用标准的文件I/O函数(比如fprintf、fscanf、fgets、fputs等)来处理文本文件是很方便的。这些函数可以直接读取和写入文本文件中的文本数据,并且适合于处理文本内容。...2.5 数据在文件中的存储方式 字符型的数据以ASCII形式进行存储 数值型数据既可以使用ASCII形式进行存储,也可以使用二进制形式存储 操作示例: 操作环境:VS2022 ①创建txt文件...我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,为了⽅便程序员对各种设备进行方便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。...标准输入流(stdin):标准输入流用于从程序外部读取数据,通常与键盘输入相关联。当你使用scanf等函数读取用户输入时,实际上是从标准输入流中读取数据。

    1.5K10

    【c语言】玩转文件操作

    一、文件的打开和关闭 1.流 程序的数据需要输出到外部设备,也需要从外部设备输入。对于不同设备,输入输出方式各有不同。...在一般情况下,我们想要写入数据或者读取数据,都需要打开流。 2.标准流 c语言程序在启动的时候,默认有三个流已经为我们打开: stdin--标准输入流,绝大多数情况下从键盘输入。...数据在内存中以二进制的形式存储,如果不加转换的输出到外存的文件中,就是二进制文件。 如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。...这个函数在使用的时候我们需要创建一个文件指针变量来接收,当文件打开失败时,它会返回空指针。...它的函数原型: void rewind ( FILE * stream ); 四、文件读取结束的判定 1.对于文本文件,我们首先可以使用fgetc函数循环读取文件中的字符,

    80310

    C语言中的文件和文件操作

    数据在内存中是如何存储的呢? 字符一律以ASCII形式存储,但是数值形式的数据既可以用ASCII形式存储,也可以使用二进制形式存储。...二、、文件操作 1.文件的打开和关闭 1.1流和标准流 流:我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输入输出操作各不相同,为了方便程序员对各种设备进行方便的操作...一般情况下,我们想向流里写数据,或者从流中读取数据,都需要打开流,然后操作 标准流:C语言程序在启动的时候,默认打开3个流: stdin-标准输入流,在大多数的环境中从键盘输入,scanf函数就是从标准输入流中读取数据...每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息,使用者不必关心细节。...含义 如果指定文件不存在 “r” 为了输⼊数据,打开⼀个已经存在的⽂本⽂件 出错 “w” 为了输出数据,打开⼀个⽂本⽂件 建立一个新的文件 “a” 向文本文件尾添加数据 建立一个新的文件 “rb” 为了输入数据

    62010

    【C语言篇】文件操作(上篇)

    二进制文件 数据在内存中以⼆进制的形式存储,如果不加转换的输出到外存的⽂件中,就是⼆进制⽂件。 文本文件 如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。.../data/xxx,表示的就是下下一级路径 文件打开和关闭 流和标准流 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,为了⽅便程序员对各种设备进...其实就是不同外部设备写入和读取数据操作不一样,就创建了一个中介,这就是流,我们程序员只需要关注如何向流中读取和写入,至于流怎么通过不同方式和外部设备建立联系我们不用关心 对于之后向文件中写入或者从文件中读取数据都是指对于流的操作...那是因为C语⾔程序在启动的时候,默认打开了3个流: stdin-标准输⼊流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。...stdout-标准输出流,⼤多数的环境中输出⾄显⽰器界⾯,printf函数就是将信息输出到标准输出 流中。 stderr-标准错误流,⼤多数环境中输出到显⽰器界⾯。

    95310

    【C语言】文件操作(1)(文件打开关闭和顺序读写函数的万字笔记)

    ⽂件,或者输出内容的⽂件 二、数据文件    本文着重讨论的是数据文件,在以前我们学的知识中,所处理的数据的输⼊都是以键盘输⼊数据,用显示器输出    但是我们之前的程序结果输出到显示器后,结束程序,...,那么就是文本文件,例如汉字,英文字母等等信息,文本文件常见的后缀为:.txt 和 .docx 以及 .rtf 二进制文件    数据在内存中以⼆进制的形式存储,如果不加转换的输出到外存的⽂件中,就是⼆...,但是程序员不必了解它们如何输入的,程序员只需要去往对应的流写入或读出操作,不需要担心各种设备的输入输出操作    ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作,打开流的方法我们后面会讲到...那是因为C语言程序在启动时,默认打开了3个标准流: stdin - 标准输⼊流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据 stdout - 标准输出流,⼤多数的环境中输出⾄显...⽰器界⾯,printf函数就是将信息输出到标准输出流中 stderr - 标准错误流,⼤多数环境中输出到显⽰器界⾯    这是默认打开的三个标准流,我们使⽤scanf、printf等函数就可以直接进⾏输

    98310

    C 语言文件操作详解

    数据⽂件:数据文件用于存储程序运行时生成或处理的数据。例如,文本文件、二进制文件、日志文件等。它们可以用来存储用户输入、计算结果、程序状态等信息。...文本文件:存储的是可读的字符数据,通常以 ASCII 或 UTF-8 编码。文本文件在不同平台(如 Windows 和 Unix)可能有不同的换行符表示方式(\r\n vs \n)。...mode表⽰⽂件的打开模式,下⾯都是⽂件的打开模式: 文件使用方式 含义 如果文件不存在 “r”(只读) 为了输⼊数据,打开⼀个已经存在的⽂本⽂件 出错 “w”(只写) 为了输出数据,打开⼀个⽂本⽂...\n", n); fclose(file); } 3.对比一组函数 输入函数 scanf:从标准输入(如键盘)读取格式化数据。...如果从磁盘向计算机读⼊数据,则从磁盘⽂件中读取数据输⼊到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的⼤⼩根据C编译系统决定的。

    86010

    【通关文件操作(上)】--文件的意义和概念,二进制文件和文本文件,文件的打开和关闭,文件的顺序读写

    一个数据在文件中如何存储呢? 字符⼀律以ASCII形式存储,数值型数据既可以用ASCII形式存储,也可以使用二进制形式存储。...三.文件的打开和关闭 3.1--流和标准流 3.1.1--流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输入输出操作各不相同,为了方便程序员对各种设备进行方便的操作...这是因为C语言程序在启动的时候,默认打开了3个流: stdin - 标准输入流,在大多数的环境中从键盘输入,scanf函数就是从标准输入流中读取数据。...所有输出流 fscanf 从输入流中读取带有格式的数据 所有输入流 fprintf 向输出流中写入带有格式的数据 所以输出流 fread 从输入流中读取一块数据 文件输入流 fwrite 从输出流中写入一块数据...format :格式化字符串,定义如何解析输⼊数据(如 %d 、 %f 、 %s 等)。 ... :可变参数列表,提供存储数据的变量地址(需与格式字符串中的说明符匹配)。

    23510

    C语言——文件操作

    文件的打开和关闭 流和标准流 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念...标准流 既然输入输出操作需要通过流来实现,但是当我们从键盘输⼊数据,向屏幕上输出数据,没有打开流 ,这是为什么呢?...事实上,C语⾔程序在启动的时候,默认打开了3个流: stdin - 标准输⼊流。 在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。...⼤多数环境中输出到显⽰器界⾯(屏幕) 正是默认打开了这三个流,我们使⽤scanf、printf等函数就可以直接进⾏输⼊输出操作。...我们可以知道fgetc是从流中获取一个字符的,这是一个字符输入函数,适用于所有的输入流。

    71710

    C语言文件操作

    二进制文件和文本文件也是数据文件,从名字上理解,二进制文件中存放的是二进制数据,而文本文件存储的是文本内容。二进制文件 我们无法读懂,只能机器来读懂,但是文本文件我们就能读懂。...⽂件的打开和关闭 4.1 流和标准流 4.1.1 流 我们的程序需要读取和输出文本内容,就需要到流,我们从键盘上输入一个内容,首先要到流,流再传给程序,从而程可以输出我们的值。...4.1.2 标准流 什么是标准流呢,我们经常使用的一个头文件#include中有三种 stdin标准输入流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。...stdout标准输出流,⼤多数的环境中输出⾄显⽰器界⾯,printf函数就是将信息输出到标准输出 流中。 stderr标准错误流⼤多数环境中输出到显⽰器界⾯。...每当打开⼀个⽂件的时候,系统会根据⽂件的情况⾃动创建⼀个FILE结构的变量,并填充其中的信 息,使⽤者不必关⼼细节。

    1.2K00

    C语言——文件操作

    数据文件又可分为文本文件和二进制文件。 二进制文件:数据在内存中以二进制的形式存储。 文本文件:以ASCII字符的形式存储的文件。...• stdin-标准输入流,在大多数的环境下从键盘输⼊,scanf函数就是从标准输入流中读取数据。...int fprintf ( FILE * stream, const char * format, ... ); 我们前面提到过scanf函数从标准输入流中读取数据,printf函数将信息输出到标准输出流中...与之对应的,fscanf函数从我们所指定的流中读取数据,fprintf函数将信息输出到我们所指定的流中。...两个函数的例子: 要注意,将字符输出到文件中,其实是将字符写进文件里,所以fopen的打开模式要用“w”或者“w+” 总的来说,这两个函数可以让我们的数据输入输出不再局限于标准输入流和标准输出流,更能应对现实的不同需求

    96210

    从“文件小白“到“IO大侠“:C语言文件操作全攻略

    三、二进制文件和文本文件? 根据数据的组织形式,数据文件被称为文本文件或者⼆进制文件。 数据在内存中以⼆进制的形式存储,如果不加转换的输出到外存的⽂件中,就是二进制文件。...以ASCII字符的形式存储的文件就是文本文件。 ⼀个数据在文件中是怎么存储的呢? 字符⼀律以ASCII形式存储,数值型数据既可以⽤ASCII形式存储,也可以使用二进制形式存储。..."r+" read/update:打开一个文件进行更新(输入和输出)。文件必须存在。 "w+" write/update:创建一个空文件并打开它以进行更新(输入和输出)。...重新定位操作(fseek、fsetpos、rewind)会影响下一个输入操作,但输出操作会将位置移回文件末尾。如果文件不存在,则创建该文件。 使用上面的模式说明符,文件将作为文本文件打开。...如果序列后面有其他字符,则行为取决于库实现:一些实现可能会忽略其他字符,例如,接受额外的“t”(有时用于显式表示文本文件)。 在某些库实现中,使用更新模式打开或创建文本文件可能会视为二进制文件。

    43510

    深入挖掘C语言 ---- 文件操作

    文件的打开和关闭 1.1 流和标准流 1.1.1流 我们程序的数据需要输出到各种外部设备, 也需要从外部设备获取数据, 不同的外部设备的输入输出操作各不相同, 为了方便程序员对各种外部设备进行方便的操作...C程序对文件, 画面, 键盘等的数据输入输出操作都是通过流操作的. 一般情况下, 我们想要向流里写数据, 或者从流中读取数据, 都是打开流, 然后操作. 1.1.2标准流 C语言程序在启动的时候....默认打开了3个流: stdin: 标准输入流, 在大多数的环境中从键盘输入, scanf函数就是从标准输入流中读取数据 stdout: 标准输出流, 大多数的环境中输出到显示器界面, printf函数就是将信息输出到标准输出流中.... stderr: 标准错误流, 大多数环境中输出到显示器界面 这是默认打开了这三个流, 我们使用scanf, printf等函数就可以直接进行输入输出操作的....系统会根据文件的情况自动创建一个FILE结构的变量, 并且填充其中的信息, 使用者不必关心细节. ⼀般都是通过⼀个FILE的指针来维护这个FILE结构的变量,这样使用起来更加方便。

    41610

    【c语言】详解文件操作(一)

    二进制文件和文本文件 根据数据的组织形式,数据文件被称为文本文件或者⼆进制文件。 两者间的区别: 数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。...文件的打开和关闭 流与标准流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输入输出操作各不相同,为了方便程序员对各种设备进行方便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河...C程序针对文件、画面、键盘等的数据输⼊输出操作都是同流操作的。⼀般情况下,我们要想向流里写数据,或者从流中读取数据,都是要打开流,然后操作。...而从键盘(stdin)输入的字符会进入流中,scanf函数读取这些字符保存到变量a中。 那为什么我们从键盘输入数据,向屏幕上输出数据,并没有打开流呢?...stream ); 关于文件的打开模式,列举如下: 文件打开方式 含义 如果指定文件不存在 “r”(只读) 为了输⼊数据,打开一个已经存在的文本文件 出错 “w”(只写) 为了输出数据,打开一个文本文件

    47810

    【C语言】文件及文件操作详解(fseek,ftell,rwind)

    以ASCII字符的形式存储的文件就是文本文件。 那么一个数据在文件中是如何存储的呢? 字符一律以ASCII形式存储,数值型数据既可以用ASCII形式存储,也可以使用二进制形式存储。...文件的打开和关闭 4.1 流和标准流 4.1.1 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输入输出操作各不相同,为了方便程序员对各种设备进行方便的操作,我们抽象出了流的概念...一般情况下,我们要想向流里写数据,或者从流中读取数据,都是要打开流,然后操作。...4.1.2 标准流 在C语言程序启动时,会默认打开三个流: ·stdin——标准输入流,在大多数的环境中从键盘输入 ·stdout——标准输出流,在大多数环境中输出到显示器界面 ·stderr——...标准错误流,在大多数环境中输出到显示器界面 默认打开这三个流之后,使用scanf、printf等函数就可以直接进行输入输出操作。

    60210
    领券