一.文件指针
文件指针是C和C++编程语言中用于处理文件的一种数据类型。在C语言中,文件指针通常用FILE *
表示,而在C++中,通常使用fstream
库中的ifstream
, ofstream
和fstream
对象来处理文件。
在C语言中,文件指针用于打开、读取、写入和关闭文件。例如,fopen
函数用于打开一个文件,并返回一个指向该文件的指针。然后,可以使用fread
, fwrite
, fseek
等函数来读取或写入文件。最后,使用fclose
函数关闭文件。
在C++中,使用fstream
库可以更方便地处理文件。例如,可以使用ifstream
对象来读取文件,使用ofstream
对象来写入文件,而使用fstream
对象则可以同时读写文件。
下面是使用C++ fstream
库的一个简单示例:
#include <fstream>
#include <iostream>
int main() {
std::ofstream outfile("example.txt"); // 创建一个输出文件流
if (outfile.is_open()) { // 检查文件是否成功打开
outfile << "Hello, world!" << std::endl; // 写入一些文本
outfile.close(); // 关闭文件
} else {
std::cout << "Unable to open file";
}
return 0;
}
在这个示例中,我们创建了一个名为"example.txt"的输出文件流,并向其中写入了一些文本。如果文件成功打开,我们就关闭它;否则,我们输出一条错误消息。
二.文件的打开与关闭
(1)fopen函数
在C语言中,操作文件之前应该先打开文件。使用 <stdio.h> 头文件中的 fopen() 函数可以打开文件。
用法如下:
FILE * fopen ( const char * filename, const char * mode );
第一个参数filename为文件名(包括文件路径),第二个参数mode为打开方式。若打开成功,fopen返回一个结构指针地址,否则返回NULL。
如果没有指定文件路径,则默认为当前工作目录。
//首先定义文件指针:fp
FILE *fp;
//用fopen()函数卡开文件, r——>以只读方式打开
fp = fopen("test.txt", "r"); //没有指定文件路径,则默认为当前工作目录。
(2)fclose函数
在执行完文件的操作后,要用 fclose() 函数进行“关闭文件”操作。以此释放相关资源,避免数据丢失。同时也可提高系统整体的执行效率。
fclose() 的用法为:int fclose(FILE *fp);
fclose(fp);
三.文件的顺序读写
#include <stdio.h>
int main()
{
FILE* fp;
fp = fopen("D:\\codeFile\\test1.txt", "r");
if (fp != NULL)
{
//feof(file stream )文件指针到达文件末尾
while (!feof(fp)) //读文件
printf("%c", fgetc(fp));
}
else
printf("fail to open! \n");
fclose(fp);
return 0;
}