面向程序员的C文件概述
C语言是使用最广泛的编程语言之一。C语言有很多应用程序,包括用于开发系统软件,因为这种强大的语言可以有效地映射机器指令。
文件是字节数据的集合或流。存储的数据流可以是文档,图形图像或任何其他信息集合,其基于所写入的文件的结构来确定。
以下是程序员广泛使用的两种文件类型。
- ASCII文本。
这些是程序员使用的最常见的文本文件类型。ASCII文本文件是一个字符集合或序列。在C语言中,这些文件只能按正向处理。程序员在使用这种文件格式时,通常一次只进行一个操作(读、写或追加)。
- 二进制文件,
二进制文件也是以字节的形式存储的信息集合。根据C语言的设计,字节和字符仅是等效的。二进制文件不是由C语言处理的..,在从文件传输到和复制时,在字节上没有完成特定处理
c中的文件处理:
使用文件指针访问C中的文件。
文件*《外交政策》;
在c语言中有很多可用的文件处理函数,以下是一些常见的文件处理函数:
- fopen ()
- fclose()
- fseek ()
- ftell()
- 从文件中读()
- 写入文件()
- FGETC()
- fputc()
FOPEN() -
这将打开一个文件并初始化打开文件的I / O流。
句法 -
文件* fp = fopen(const char * path,const char *模式);
这个函数接受两个参数。第一个参数是要处理的文件路径,第二个参数是要打开的文件的模式。Fopen()有6种不同的模式可以用来打开文件。
fopen()的不同文件模式是:
R. | 文件仅为读取而打开 |
W. | 仅供本文打开文件(文件不需要) |
一种 | 文件已打开以附加(文件不需要) |
r + | 为阅读和写作打开文件。光标设置为打开文件的开始。 |
W + | 为读写打开文件,并覆盖数据。 |
+ | 为读取和写入打开文件,如果已存在,则附加数据。 |
注意:有像RB这样的模式,这意味着将该文件打开以读取模式作为二进制文件。当您尝试打开* .txt以外的文件时,这可能很有用。
fopen()返回文件流的指针作为结果,但是如果用户试图访问不存在的文件或试图访问受读保护的文件,fopen()将返回0。
例子 -
文件*《外交政策》;
fp = fopen(“用法”,“+”);
上面的示例表示用户正在打开名为test.txt的文件a +。C编译器将在编写代码的目录中搜索文件,因为未指定路径。
fclose()
函数的作用是:关闭一个打开的文件。它还清除与该特定文件相关联的缓冲区。
句法 -
int fclose(文件*流);
fclose()函数将文件指针带到打开的文件。返回类型是int,如果文件已成功关闭,则返回0。
fseek ()
此函数在文件流中设置文件指针指示符。
句法 -
int fseek(文件*流,长偏移,int whentence);
fseek()函数接受3个参数:第一个参数是FILE指针,第二个参数是偏移值或要查找的字节数,第三个参数接受三个定义的值SEEK_SET、SEEK_CUR或SEEK_END。SEEK_SET表示流的起始位置,SEEK_CUR表示当前流中的文件指针指示器的位置。SEEK_END表示流的结束位置。
如果设置了文件指针指示灯位置,则FSEEK()返回0。
ftell()
ftell()函数返回给定文件流的文件指针指示器位置。
句法 -
long int ftell(文件*流);
ftell()函数只接受一个参数,它是文件流。该函数返回指示符在成功时的位置,或者函数将返回-1l。
从文件中读()和写入文件()
fread()函数用于将数据从文件流读入数组,而fwrite函数用于将数据从数组写入文件流。
句法 -
size_t fread(void * ptr,size_t size,size_t nmemb,文件*流);
size_t fwrite(const void * ptr,size_t size,size_t nmemb,文件*流)
Fread()和fwrite()有四个参数:第一个参数是指向数组的指针的数据存储或写,第二个指针大小在读取字节的每个元素,第三个参数是阅读的元素的数量和第四个参数是文件流的元素是读或写的元素。
FGETC()
FGETC()函数用于从文件中读取字符。返回类型为INT,因为FGETC()返回从文件读取的字符的ASCII值(0-255)。如果从文件读取所有字符或达到文件的末尾,FGETC()将返回“eof”,它表示文件末尾。
句法 -
int fgetc (FILE *stream);
fgetc()只接受一个是文件流的一个参数。
想了解更多关于高级C编程的信息吗?在Udemy.com上课程
fputc()
fputc()方法用于一次向文件写一个字符。
句法 -
int fputc(int c,文件*流);
这个方法接受两个参数。第一个参数是写入文件的字符值(0-255),第二个参数是文件流。fputc()函数将返回成功写入的字符,否则将返回" EOF "。