图1:C++类库中的流类
成员方法名 | 适用类对象 | 功 能 |
---|---|---|
open() |
fstream ifstream ofstream |
打开指定文件,使其与文件流对象相关联。 |
is_open() | 检查指定文件是否已打开。 | |
close() | 关闭文件,切断和文件流对象的关联。 | |
swap() | 交换 2 个文件流对象。 | |
operator>> |
fstream ifstream |
重载 >> 运算符,用于从指定文件中读取数据。 |
gcount() | 返回上次从文件流提取出的字符个数。该函数常和 get()、getline()、ignore()、peek()、read()、readsome()、putback() 和 unget() 联用。 | |
get() | 从文件流中读取一个字符,同时该字符会从输入流中消失。 | |
getline(str,n,ch) | 从文件流中接收 n-1 个字符给 str 变量,当遇到指定 ch 字符时会停止读取,默认情况下 ch 为 '\0'。 | |
ignore(n,ch) | 从文件流中逐个提取字符,但提取出的字符被忽略,不被使用,直至提取出 n 个字符,或者当前读取的字符为 ch。 | |
peek() | 返回文件流中的第一个字符,但并不是提取该字符。 | |
putback(c) | 将字符 c 置入文件流(缓冲区)。 | |
operator<< |
fstream ofstream |
重载 << 运算符,用于向文件中写入指定数据。 |
put() | 向指定文件流中写入单个字符。 | |
write() | 向指定文件中写入字符串。 | |
tellp() | 用于获取当前文件输出流指针的位置。 | |
seekp() | 设置输出文件输出流指针的位置。 | |
flush() | 刷新文件输出流缓冲区。 | |
good() |
fstream ofstream ifstream |
操作成功,没有发生任何错误。 |
eof() | 到达输入末尾或文件尾。 |
#include <iostream> #include <fstream> using namespace std; int main() { const char *url ="http://task.lmcjl.com/cplus/"; //创建一个 fstream 类对象 fstream fs; //将 test.txt 文件和 fs 文件流关联 fs.open("test.txt", ios::out); //向test.txt文件中写入 url 字符串 fs.write(url, 30); fs.close(); return 0; }执行程序,该程序同目录下会生成一个 test.txt 文件,该文件的内容为:
http://task.lmcjl.com/cplus/
值得一提的是,无论是读取文件中的数据,还是向文件中写入数据,最先要做的就是调用 open() 成员方法打开文件。同时在操作文件结束后,还必须要调用 close() 成员方法关闭文件。关于如何使用 open() 函数打开一个文件,下一节会做详细介绍。
本文链接:http://task.lmcjl.com/news/8837.html