C语言初级教程-第10章_文件操作
- 格式:ppt
- 大小:2.73 MB
- 文档页数:46
C语言的文件操作C语言提供了一组用于文件操作的函数,这些函数可以创建、打开、读取、写入和关闭文件。
文件操作在C语言中非常重要,因为它允许程序与外部存储进行交互,并且读取和写入文件是我们日常编程工作中最常见的操作之一、在这篇文章中,我将介绍C语言中文件操作的基本概念和常用函数。
在C语言中,首先需要包含头文件`stdio.h`,这个头文件中包含了一些文件操作所需的函数原型和符号常量。
##文件的创建和打开要创建一个新的文件,可以使用`fopen`函数。
它的原型如下:```cFILE *fopen(const char *filename, const char *mode);```该函数接受两个参数:`filename`为要创建或打开的文件名,`mode`为打开文件的模式。
`mode`参数可以是以下几种:-"r":只读方式打开文件。
如果文件不存在,则打开失败。
-"w":写入方式打开文件。
如果文件不存在,则创建一个新的文件;如果文件已经存在,则会清空文件内容。
-"a":追加方式打开文件。
如果文件不存在,则创建一个新的文件;如果文件已经存在,则写入的内容将添加到文件的末尾。
-"r+":读写方式打开文件。
如果文件不存在,则打开失败。
-"w+":读写方式打开文件。
如果文件不存在,则创建一个新的文件;如果文件已经存在,则会清空文件内容。
-"a+":读写方式打开文件。
如果文件不存在,则创建一个新的文件;如果文件已经存在,则写入的内容将添加到文件的末尾。
例如,要以只读方式打开名为`example.txt`的文件,可以使用以下代码:```cFILE *file = fopen("example.txt", "r");if (file == NULL)perror("Failed to open the file");exit(1);````fopen`函数返回一个指向`FILE`结构体的指针,该结构体用于后续对文件进行操作。
C语言基础自学总结之十:文件操作要点:1.文件操作,就是通过程序,操作文件2.两个方面:读,写一.fopen 打开文件函数原型:FILE *fopen(char *filename, char *type);intfclose(FILE *fp);头文件:#include<stdio.h>是否是标准函数:是函数功能:函数fopen:打开一个流,即:打开一个文件。
该函数有两个参数,filename是需要打开文件的文件名,type是打开文件的方式。
函数fclose:关闭一个流,即:关闭一个文件,并释放文件缓冲区。
fclose函数与fopen函数是相对的两个函数。
fclose函数的参数是指向文件的指针,应用该函数用以在程序结束之前关闭文件,并释放文件缓冲区。
这样可以保证文件的数据不流失。
返回值:fopen:FILE类型,如果打开的文件存在,返回指向该文件的指针;如果打开的文件不存在,则在指定的目录下建立该文件打开,并返回指向该文件的指针。
fclose:整型,有错返回非0,否则返回0。
例子1:#include <stdio.h>int main(void){FILE *FP=fopen("文件","打开方式");//返回值是file是一个结构体,是一个结构体的宏。
fclose(FP);//打开之后,用完了,就要关闭文件,fclose是跟fopen一起使用的一个函数。
return 0;}二. frend 读取fread:从流中读取字符串函数函数原型:int fread(void *buf, int size, int count, FILE *fp);头文件:#include<stdio.h>是否是标准函数:是函数功能:从fp指向的文件中读取长度为size 的count个数据项,并将它输入到以buf为首地址的缓冲区中。
此时,文件指针fp会自动增加实际读入数据的字节数,即fp指向最后读入字符的下一个字符位置。
文件操作1.文件指针在C语言中,规定了文件的结构体FILE。
FILE *fp;2.文件的打开和关闭。
打开:fopen(文件名,打开的方式);通常来说,打开文件失败原因有3个:3.用r来打开一个空文件。
4.指定的盘符或者路径不存在。
5.文件名包含一些奇怪的字符。
123/.txt6.有些文件被其他程序占用。
关闭:fclose(fp); 不关闭文件容易产生数据的流失。
//----------------------------------------------打开和关闭文件#include<stdio.h>int main(){FILE *fp; //定义一个文件指针if ((fp = fopen("123.txt", "w")) == NULL) //打开一个文件{printf("文件打开失败!\n");exit(0);}fclose(fp);return 0;}7.文件的读写8.fputc(ch,fp) 向文件中写入字符(写)//======================================写字符fputc(ch,fp);#include<stdio.h>int main(){FILE *fp; //定义一个文件指针char ch; //定义字符变量if ((fp = fopen("123.txt", "w")) == NULL) //打开一个文件{printf("文件打开失败!\n");exit(0);}printf("请输入字符:");ch = getchar();while (ch != '#'){fputc(ch, fp);ch = getchar();}fclose(fp);return 0;}9.fgetc(fp) 从文件中获取字符(读)这个函数在遇到文件结尾的时候,返回一个EOF。
C语言的文件操作C语言提供了丰富的文件操作函数,可以实现文件的创建、打开、读写以及关闭等操作。
本文将详细介绍C语言的文件操作。
文件操作函数主要包括以下几个方面:1.文件的创建和打开C语言提供了两个函数来创建和打开文件,分别是fopen(和freopen(。
fopen(函数的原型为:```cFILE* fopen(const char *filename, const char *mode);```其中,参数`filename`为文件路径和名称,参数`mode`为打开文件的模式,包括"r"(只读)、"w"(写入)、"a"(追加)等。
成功打开文件时,该函数返回一个指向FILE类型结构体的指针,用于后续操作;如果打开失败,返回NULL。
freopen(函数的原型为:```cFILE* freopen(const char *filename, const char *mode, FILE *stream);```该函数与fopen(类似,区别在于它可以重新打开一个已打开的文件,且更改了文件与流之间的关联。
如果成功,函数返回一个指向FILE类型结构体的指针;否则返回NULL。
2.文件的读写C语言提供了一系列函数来读写文件,主要有fscanf(、fprintf(、fgets(、fputs(等函数。
fscanf(函数的原型为:```cint fscanf(FILE *stream, const char *format, ...);```该函数从文件流`stream`中读取格式化输入,并根据`format`参数指定的格式进行解析。
fprintf(函数的原型为:```cint fprintf(FILE *stream, const char *format, ...);```该函数将格式化输出写入文件流`stream`。
fgets(函数的原型为:```cchar *fgets(char *str, int num, FILE *stream);```该函数从文件指针`stream`所指向的文件中读取一行内容,并将其存储到字符串`str`中,最多读取`num-1`个字符。
c语言文件操作一.文件的打开和关闭-fopen()函数和fclose()函数1.FILE为C语言提供的文件类型,它是一个结构体类型,用于存放文件的相关信息。
FILE*即为文件指针类型,通过该指针,我们可以对其相关联的文件进行一系列操作。
2.为了打开文件,文件名是不可缺少的。
如果要打开当前目录下的文件,可只用输入文件名,否则应该输入文件的绝对路径,如:c:\code\test.txt3.mode为打开文件的几种方式,常见的有"r"(只读),"w"(只写),"a"(文件末尾追加),"rb"(二进制件打开,只读),"wb"(二进制件打开,只读),"ab"(二进制件打开,追加)等。
用"r"方式打开文件,若文件不存在,则返回一个空指针表示错误。
若用"w"或"a"打开文件,则若文件不存在,都会创建一个新文件,即使文件存在,写入时也会把原有内容先进行覆盖4.在对文件进行相关操作后应该及时使用fclose函数进行关闭,以便及时释放资源5.若fopen函数打开失败,则返回空指针,且设置全局变量errno 来标识错误,因此打开文件后应该做必要的判断。
对于flose 函数,如果成功返回值为零。
如果失败,则返回EOF。
二.常见文件操作函数1.字符输入函数-fgetc()fgetc函数返回文件指针指向的字符,并使指针向下一个字符偏移。
若想用此函数打印文件全部内容,可用while((ch=fgetc(pf))!=EOF)循环来控制,这是因为当指针指向文件结尾,函数返回值为-12.字符输出函数-fputc()读取的最大字符数为(5-1)=4,这是因为字符串末尾会添加一个‘\0’作为字符串结束标志。
该函数返回值为相同的arr 参数。
如果到达文件末尾或者没有读取到任何字符,str 的内容保持不变,并返回一个空指针,因此同理可用while循环判断指针是否为NULL 实现打印全部内容。
C语言基础教程文件和文件指针1.文件一般说来,文件是有序数据的集合。
程序文件是程序代码的有序集合,数据文件是一组数据的有序集合。
文件是被存放在外部存储设备中的信息。
对文件的处理过程就是面向文件的输入和输出过程。
文件的输入过程是从文件中读出信息,文件的输出过程是往文件中写入信息,文件的输入的过程使用读函数,实现文件输出的过程使用写函数。
文件的读写函数是实现文件操作的主要函数,本章将用大量篇幅来讲述文件的读写函数。
C语言文件被称为流式文件,其特点是不分记录或块,将文件看成是信息"流"或看成是一个字符流(文本文件),或看成是一个二进制流(二进制文件).文件的存取是以字符(字节)为单位的,读写数据流的开始和结束受程序控制。
任何一个文件都是以EOF结束,最简单的文件是只有结束符的空文件。
C语言文件包含有设备文件和磁盘文件,例如,键盘是一种输入信息的文件,显示器屏幕和打印机是输出信息的文件它们都属于设备文件。
将内存的信息放到磁盘上保存,需要时再从磁盘上装入内存,这就要使用磁盘文件,磁盘文件是计算机中常用的文件nC语言文件按存放设备分设备文件和磁盘文件;按数据的组织形式分为文本文件(ASCII码文件)和二进制文件。
文本文件是按一个字节存放一个字符的ASCII码来存放的;二进制文件是按数据在内存中的存储形式放到磁盘上的。
例如,有一个整数10000,在内存中按二进制形式存放,占2个字节,将它放在磁盘上如按文本文件形式存放,占5个字节,每个数位占一个字节。
两种存放方式各有利弊。
以文本文件形式输出便于对字符进行处理,也便于输出字符,但是占用存储空间较多,并且要花费转换时间。
以二进制文件形式输出可节省存储空间和转换时间,但是不能直接输出字符形式。
2.文件指针文件指针是一种用来指向某个文件的指针。
如果说某个文件指针指向某个文件,则是该文件指针指向某个文件存放在内存中的缓冲区的首地址。
每一个被使用的文件都要在内存中开辟一个区域,用来存放的有关信息,包括文件名字、文件状态和文件当前位置等。