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

C语言——文件的基本操作

C语言中文件的基本操作包括:文件的打开、文件的关闭以及文件的输入和输出。除了标准的输入、输出文件外,其它的文件都必须先打开在使用,使用后必须关闭该文件。...文件指针 文件指针是一个指向文件有关信息的指针,这些信息包括文件名、状态和当前位置,他们保存在一个机构体变量中。在使用文件时需要在内存中为其分配空间,用来存放文件的基本信息。...mode); 在这里,filename 是字符串,用来命名文件,访问模式 mode 的值可以是下列值中的一个: 如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式: "rb", "wb...文件的关闭 文件在使用完毕后,应该使用fclose函数将其关闭。 fclose的一般形式为: fclose(fp);//fp是文件指针 当正常关闭文件后,fclose函数返回值为0,否则返回EOF....文件的读写 打开文件后,就可以对文件进行读写操作,C语言中提供了多种文件操作函数,接下来我们具体的看一下。

94810

【C】文件操作

中, 添加一个新的修饰符x, 和w 一起使用, 如下 "wx", "wbx", "w+x" or "w+bx"/"wb+x" 当文件存在时, x会强制使文件访问出错, 而不是清空文件内容....写文件 在C中有多种方式可以读写文件, 下面将具体介绍它们 fputc 将一个字符写入到fp所指向的输出流中(不只是文件输出流), 写入成功会返回写入的字符, 写入失败会返回EOF, 函数原型为 int...null字符\0, 同时\0不会被复制到输出流中....除此之外puts在输出完内容之后会在内容后面追加上换行符(newline character). fprintf fprintf用来将格式化数据输出到输出流, 和printf用法相同, 下面是函数原型...当读到文件末尾时, 也会返回EOF, 并且在输出流中设置文件结束标志(end-of-file indicator).

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

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

    C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。...,下⾯都是⽂件的打开模式: 都是英文单词缩写,很好记的 注意:如果不写路径只写名字,默认是在当前程序文件(.c文件)所在目录下打开或创建,若果需要在其他路径下,就需要使用相对路径或者绝对路径 在使用绝对路径时用...() { int ch = fgetc(stdin);//从键盘(标准输入流)上读取 fputc(ch, stdout);//将字符输出(写)到屏幕(标准输出流) return 0; } 向文件中写字符..., 20, stdin); fputs(arr, stdout); return 0; } 有关文件的其他操作会在下一篇博客中介绍 以上就是文件操作(上篇)的内容啦,各位大佬有什么问题欢迎在评论区指正...,您的支持是我创作的最大动力!

    12510

    C语言——文件操作

    如有整数10000,如果以ASCII码的形式输出到磁盘,则磁盘中占⽤5个字节(‘1’,‘0’,‘0’,‘0’,‘0’)(每个字符⼀个字节),如果⼆进制形式输出,则在磁盘上只占4个字节,如图所示 文件名...⼤多数环境中输出到显⽰器界⾯(屏幕) 正是默认打开了这三个流,我们使⽤scanf、printf等函数就可以直接进⾏输⼊输出操作。...这样,通过⽂件指针变量能够 间接找到与它关联的⽂件 。 文件打开和关闭 ⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂件。...打开文件:fopen fopen第一个参数是需要打开的文件的文件名,第二个参数是mode,表⽰⽂件的打开模式,在C Plusplus上面也给出了一些文件的打开模式。...在文件读/写的过程中,如果发生错误,就会将一个错误标记,设置一下 ferror ():检测这个错误标记是否被设置,如果被设置,就是在读取过程中发生错误 2.在文件读/写的过程中,如果遇到文件末尾

    7010

    【PHP】文件写入和读取详解

    > 在设置了写操作的权限后,就能正常地写入文件了 运行后打开C:/wamp64/www/text.txt: ? 这次我们把权限设置为只读,并尝试写入文本:'在只读模式下写入' 的最大字节数(注意是字节数不是字符数): 【注意】在UTF-8编码下汉字3字节,字母1字节 下面我修改上面的一行,代码,使获取的每一行最大字符数为...1即使不手写fclose,在PHP脚本执行结束后,也会自动关闭文件的 2但在一个长时间执行的脚本中,如果不写关闭文件的fclose(),在文件加锁的情况下会造成操作的阻塞,所以,写fclose是个好习惯...);//打印此刻文件指针的位置 rewind($fp);//使文件指针移动到0字节位置(初始位置) print_file_pointer($...多出来的两个字节是windows下的回车换行符\n\r \n是换行,占一字节,\r是回车,占一字节,在六中我将会介绍 六.Windows和UNIX下的回车和换行 <?

    4K70

    文件结束符EOF

    >> 关于文件结束符EOF EOF 是 End Of File 的缩写。在C语言中,它是在标准库中定义的一个宏。人们经常误认为 EOF 是从文件中读取的一个字符(牢记)。...不错,我在用getchar的时候也是一直这么想的,但是程序就偏偏不着样执行,而是必需读到一个换行符或者文件结束符EOF才进行一次输出。...【补充】本文第二部分中关于EOF的总结部分,适用于终端驱动处于一次一行的模式下。也就是虽然getchar()和putchar()确实是按照每次一个字符 进行的。...由此可见,由于终端驱动的模式不同,造成了getchar()输入结束的条件不一样。普通模式下需要回车或者EOF,而在一次一个字符的模式下,则输入一个字符之后就结束了。...返回 EOF 无非是出现了两种情况,一是文件已 经读完; 二是文件读取出错,反正是读不下去了. 请注意: 在正常读取的情况下, 返回的整数均小于256, 即0x0~0xFF.

    4.6K10

    C语言:文件操作

    C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。...比如: 文件的打开和关闭 打开文件就是打开流 读写文件就是读写流 关闭文件就是关闭流 我们只需要关注文件操作进行,流的操作是底层的操作我们不用关心 ⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂...给p赋值NULL p = NULL; return 0; } 文件打开方式 ⽂件使⽤⽅式 含义 如果指定⽂件不存在 “r”(只读) 为了输⼊数据,打开⼀个已经存在的⽂本⽂件 出错 “w”(只写) 为了输出数据...⽂件读取结束的判定 被错误使⽤的 feof 牢记:在⽂件读取过程中,不能⽤feof函数的返回值直接来判断⽂件的是否结束。...系统会在内存中开辟一块文件缓冲区,当我们把数据写到文件里(也就是硬盘),会先把数据放到输出缓冲区,放满了输出缓冲区,才⼀起送到硬盘上。

    12710

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

    pf = NULL; return 0; } test.txt直接在文件中打开图: 在VS上用二进制编辑器打开test.txt 10000的二进制表示:00 00 27 10 在内存中按小端存储...C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。...通过该⽂件信息区中的信息就能够访问该⽂件。也就是说,通过⽂件指针变量能够间接找到与它关联的⽂件。 文件的打开和关闭 ⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂件。...,默认自动在代码文件目录底下自动添加data.txt文件,效果图: 总结mode表⽰⽂件的打开模式,下⾯都是⽂件的打开模式: ⽂件使⽤⽅式 含义 如果指定文件不存在 “r”(只读) 为了输⼊数据...stdout输出到终端 fgetc是C语言中用于从文件中读取单个字符的函数。

    12210

    初识C语言·文件操作

    ,程序文件会在后面的预编译章节介绍。...在之前的章节我们处理数据的输入输出都是在终端处理的,如键盘,电脑屏幕,但有点时候我们会把信息输入到磁盘里面,读取数据的时候让磁盘输入数据给内存,在从内存中读取数据,计算机读取数据分为好几个等级,从速度快慢分为寄存器...二进制文件是数据在内存中不加转化,直接输出到外存的文件,数据文件需要经过ASCII码值的转化,再输出到外存,所以以ASCII码值存储的文件都是文本文件。 那么一个数据是怎么在内存中存储的呢?...文件的打开模式有许多种,如下: 模式有很多种,感兴趣可以自行使用一下。...输出的数据,那么格式化的占位符是必不可少的,因为数组名是首元素地址,也就是指针,所以写上了arr,最后打印出来如下: 因为我在fprintf写参数的时候已经空格了,空格也会输出进去,所以打出来也是带空格的

    7310

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

    前言 在之前文件操作(上)和文件操作(中)的文章中,我从为什么要使用文件再到文件的打开和关闭操作给大家解读了文件在内存中运行的底层原理,但是我并未介绍文件的一下详细的读写操作。...那么,在本文我就给大家介绍文件的一系列读写操作。 1. 文件的读和写 读文件就是从文件中读取数据到内存中,写文件就是把内存中的一些数据写入到文件中。...有一副图可以这么表示(只是以文件为对象): 这里我想告诉大家的就是,一定认清谁是读写的主体,因为这关系到我们之后所使用函数对应的文件打开模式。 2....这个EOF在C编译器中被定义为-1。 fputc函数的原型: fgetc的功能:将文件中的字符输出到程序中。 fputc的功能:将程序中的字符输入到文件中。...举个例子,比如我有一个字符串“abc”,现在我让num=3,其在文件中读取的只有2个字节的内容,因为‘\0’本身就占一个字节。

    9210

    C语言进阶——文件操作

    所有文件都有唯一的标识符,标识符可以分为三部分:文件路径+文件名主干+文件后缀,比如存储在我电脑中的VS文件标识符为: C:\Program Files (x86)\Microsoft Visual...系统会将文件规范化,当使用文件时,系统会在内存中开辟一个对应的文件信息区,这个信息区中包括了文件的各种信息(文件名、文件状态、文件位置等),如果对应信息缺失,系统会自动补齐。...fclose(fp);//关闭 fp = NULL;//置空 顺序读写 输入、输出流   在介绍文件读写操作前,需要先说明一下C语言中“流”(format)的概念。...C语言中有三种流:标准输入输出流、文件输入输出流、二进制输入输出流(实际使用时用前两种流,第三种的目标流一般为文件)。...文件输出流 注意:为了方便函数的介绍,接下来会先介绍写入(输出),再介绍读取(输入)函数 fputc 与 fgetc   fputc 对文件进行单字符的写入,fgetc 读取文件中的单字符 fputc

    30030

    C语言 文件读写的实现

    关于C语言的文件读写,我将介绍下面这几种方式: 字符的读写:使用 fgetc() 函数 和 fputc() 函数; 字符串的读写:使用 fgets() 函数和 fputs() 函数; 格式化的读写...2. fgetc()函数 c=fgetc(fp); //用来从指定的文本文件中读取一个字符。 1 其中,fp为文件指针,c为要写入的字符。...=EOF) //读取文件字符,直到返回fgetc()函数返回EOF { putchar(ch); //在显示窗口输出字符 } putchar('\n')...+) //注意数组从0开始 { fputs(s[i],fp); //在文件中写入数组中的字符串 fputs("\n",fp)...fgets()函数从文件中读取字符直到遇到回车符或EOF为止,函数会在最后一个字符后加上字符串结束标志’\0’;若有EOF,则不予保留。

    1.6K10

    C语言入门系列之11.文件和文件操作

    我们在前面的已经使用到了很多文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。 文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。...我们使fp指向某一个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。 如果有n个文件,一般应设n个指针变量,使它们分别指向n个文件,以实现对文件的访问。...fgetc()函数调用: ch = fgetc(fp); 函数功能: 其意义是从打开的文件fp中读取一个字符并传入ch中。 在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。...str中,因为在最后加一个'\0'。...注意: 在调用一个输入输出函数后立即检查ferror函数的值,否则信息会丢失。 在执行fopen函数时,ferror函数的初始值自动置为0。

    1.5K10

    文件操作学不懂,小代老师带你深入理解文件操作(中卷)

    C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。...那是因为C语⾔程序在启动的时候,默认打开了3个流: • stdin - 标准输⼊流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。...通过该⽂件信息区中的信息就能够访问该⽂件。也就是说,通过⽂件指针变量能够间接找到与它关联的⽂件。 ⽐如: 4.3 ⽂件的打开和关闭 ⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂件。...} fgetc 这里解释一下为什么ch用的int型,因为fputc和fgetc将返回读取的字符(提升为 int 值),如果返回失败则返回eof 所以我们这里可以修改下,用这个机制。...} struct stu { char name[5]; int age; }; int main() { struct stu s = {0}; //读取文件中二进制的信息文件中 FILE

    10110

    文件的顺序读写——顺序读写函数——fgets、fgetc、fputs、 fputc

    ,将函数的返回类型定为int(char类型提升为int类型) 1.2 fgetc 返回指定流的内部文件位置指示器当前指向的字符。...然后,内部文件位置指示器将前进到下一个字符。如果调用时流位于文件末尾,则该函数将返回 EOF 并设置流的文件末尾指示器 (feof) 。...举例: 创建一个文件,并向其中写入小写字母a到z,然后关闭文件。接着再以读的形式打开这个文件,并将这些字符输出到终端。...注意: 从流中读取字符,并将它们作为字符串存储到 str 中,直到读取 (num-1) 个字符(第num个字符会被自动读成‘\0’)或到达换行符或文件末尾,以先发生者为准。...换行符‘\n’ 使 fgets 停止读取,但它被函数视为有效字符,并包含在复制的字符串中。 空字符会自动附加到 str 的字符之后。

    33210

    文件操作学不懂,小代老师带你深入理解文件操作(下卷)

    //fseek(pf, -1, SEEK_END);//输入文件指针相较于末尾位置的偏移量 fseek(pf, 2, SEEK_CUR);//输入文件指针相较于当前位置的偏移量 ch = fgetc...⽂件读取结束的判定 7.1 被错误使⽤的 feof 牢记:在⽂件读取过程中,不能⽤feof函数的返回值直接来判断⽂件的是否结束。...⽂件缓冲区 ANSIC 标准采⽤“缓冲⽂件系统” 处理的数据⽂件的,所谓缓冲⽂件系统是指系统⾃动地在内存中为程序中每⼀个正在使⽤的⽂件开辟⼀块“⽂件缓冲区”。...从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才⼀起送到磁盘上。...(pf); //注:fclose在关闭⽂件的时候,也会刷新缓冲区 pf = NULL; return 0; }

    7110

    【C语言】看了这篇文章,如果你还不会文件操作的话,我把这篇文章给吃了(doge)

    张三:那我们在 fopen() 的 mode 参数 换成 "w" 来试下看下会出现什么样子的情况。 ヾ(^▽^*)))好哒! 先说下,文件在的情况下。...实际上文件在的情况下和上面的情况都是一模一样的,这里就不再追述了,自己可以试下。重点讲下文件没在的情况。...这种输入输出的过程被形象的比喻为"流"。 在写代码的时候,我先介绍下文件的顺序读写的函数的一些使用功能。...对于以二进制模式打开的流,新位置是通过在origin指定的参考位置上添加偏移量来定义的。...为了将文件作为二进制文件打开,必须在模式字符串中包含一个"b"字符。这个额外的"b"字符可以被添加到字符串的末尾从而形成以下复合模式。所以,我们这里的 mode 参数是"wb"。

    83720

    我与C语言二周目邂逅vlog——6.文件操作

    如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失 了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的保存,我们可以使⽤ ⽂件。...每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(如⽂件的名 字,⽂件状态及⽂件当前的位置等)。这些信息是保存在⼀个结构体变量中的。...,下⾯都是⽂件的打开模式: 1、“r”     以只读方式打开一个文件; 2、“w”    以只写方式打开一个文件; 3、“a”    打开一个文件追加; 4、“rb”   以只读方式打开一个二进制文件...⽂件读取结束的判定 5.1 被错误使⽤的 feof 牢记:在⽂件读取过程中,不能⽤feof函数的返回值直接来判断⽂件的是否结束。...⽂件缓冲区  ANSIC 标准采⽤“缓冲⽂件系统” 处理的数据⽂件的,所谓缓冲⽂件系统是指系统⾃动地在内存中为 程序中每⼀个正在使⽤的⽂件开辟⼀块“⽂件缓冲区”。

    6610

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券