C++中的文件流是一种方便的数据输入输出方式,可以通过文件流的方式读取和写入文件中的数据。在C++中,文件流主要涉及到iostream库和fstream库。
iostream库主要负责控制台输入输出,而fstream库负责文件输入输出。fstream库被包括在iostream库中,所以我们只需要包含头文件
在C++中,要操作文件需要用到流对象(stream object),而文件流就是一种流对象,它与文件相关联,可以通过文件流对象向文件中读取或写入数据。文件流有两种类型:读取文件流(ifstream)和写入文件流(ofstream),它们都派生于基础文件流(fstream)。
需要注意的是,如果要进行文件流读写操作,必须先将文件打开。可以使用open()函数来打开文件。一般而言,文件打开成功后,我们需要进行读或写操作,操作完毕后,需要使用close()函数关闭文件流对象。
接下来,我们来看一下几个文件流的常用操作:
在C++中,打开文件的方式有两种:一种是使用fstream库对象,另一种是使用C语言函数库。
使用fstream库:
#include <fstream> using namespace std; int main() { ofstream fileOut; //写入文件流对象 fileOut.open("test.txt"); //以写模式打开文件 fileOut.close(); //关闭文件 ifstream fileIn; //读取文件流对象 fileIn.open("test.txt"); //以读模式打开文件 fileIn.close(); //关闭文件 return 0; }
使用C函数库:
#include <stdio.h> int main() { FILE* fp; //文件指针 fp = fopen("test.txt", "w"); //以写模式打开文件 fclose(fp); //关闭文件 fp = fopen("test.txt", "r"); //以读模式打开文件 fclose(fp); //关闭文件 return 0; }
使用ofstream类的对象可以实现向文件写入数据。"<<"运算符可以用来写入数据。写入时,可以在操作符左边或右边加入字符串、字符、数值或变量等。
#include <fstream> using namespace std; int main() { ofstream fileOut; //写入文件流对象 fileOut.open("test.txt"); //打开文件 if (fileOut.is_open()) { //判断文件是否成功打开 fileOut << "Hello world"; //写入数据 fileOut.close(); //关闭文件 return 0; } else { return -1; } }
使用ifstream类的对象可以从文件中读取数据。"<<"运算符也可以用来读取数据,读取时,可以把数据读入到已经定义的变量中。
#include <fstream> #include <iostream> using namespace std; int main() { ifstream fileIn; //读取文件流对象 fileIn.open("test.txt"); //打开文件 if (fileIn.is_open()) { char ch; //定义变量用来存放读取的字符 while (fileIn >> ch) { //逐个读取字符 cout << ch; //输出读取的字符 } fileIn.close(); //关闭文件 return 0; } else { return -1; } }
以上就是C++中文件流的基础知识。通过文件流的读写操作,我们可以更方便地处理文件中的数据,满足实际编程需求。
以上是了解C++中的文件流的详细内容。更多信息请关注PHP中文网其他相关文章!