包含头文件:#include <fstream>
类:ifstream
ifstream打开文件的模式(方式):
对于ifstream,如果文件不存在,则打开文件失败。
ios::in 缺省值。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//文件操作-读取文本文件
// 文件目录及文件名都要写
// 类:ifstream(input file stream)
//
int main()
{
// 文件名一般用全路径,书写的方法如下:
// 1)"D:\data\txt\test.txt" // 错误。
// 2)R"(D:\data\txt\test.txt)" // 原始字面量,C++11标准。
// 3)"D:\\data\\txt\\test.txt" // 转义字符。
// 4)"D:/tata/txt/test.txt" // 把斜线反着写。
// 5)"/data/txt/test.txt" // Linux系统采用的方法。
string filename = R"(C:\Users\YXKKK\Desktop\IOF\text.txt)";
// 创建文件输入流对象,打开文件,如果文件不存在,则打开文件失败。。
// ios::in 缺省值。
//ifstream fin(filename);
//ifstream fin(filename, ios::in);
ifstream fin(filename, ios::in);
// 判断打开文件是否成功。
// 失败的原因主要有:1)目录不存在;2)磁盘空间已满;3)没有权限,Linux平台下很常见
if (fin.is_open() == false)
{
cout << "打开文件" << filename << "失败" << endl;
return 0;
}
//读取文件中的内容
//第一种方法
string buffer; //存放读取的数据
//while (getline(fin, buffer))
//{
// cout << buffer << endl;
//}
// 第二种方法。
//char buffer[16]; // 存放从文件中读取的内容。
//// 注意:如果采用ifstream.getline(),一定要保证缓冲区足够大。
//while (fin.getline(buffer, 15))
//{
// cout << buffer << endl;
//}
// 第三种方法。
while (fin >> buffer)
{
cout << buffer << endl;
}
fin.close(); //关闭文件,fout对象失效前会自动调用close
cout << endl;
cout << "读取数据完成" << endl;
}



474

被折叠的 条评论
为什么被折叠?



