#include<iostream>
#include<fstream>
#include<string>
int main()
{//让客户输入文件名称,如果文件不存在,就让客户重新输入文件名称,如果文件存在,就将文件全部内容输出。
std::string fileName;
std::string fileContent;
while (std::cin>> fileName, !std::cin.eof()) //还没到文件结尾eof
{
if (std::cin.bad())//如果已经出错了,抛出异常,运行时错误
{
throw std::runtime_error("cin is corrupted");
}
std::ifstream ifs(fileName);
if (ifs.is_open())//如果文件打开成功
{
while (std::getline(ifs, fileContent))
{
std::cout << fileContent << std::endl;
}
if (ifs.bad())
{
throw std::runtime_error("ifs is corrupted");
}
ifs.close();
}
else
{
std::cin.clear();//先清空状态栏
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');//再忽略缓冲区
std::cout << "file not exist, please try again" << std::endl;
continue;
}
}
std::cout << "process complete" << std::endl;
return 0;
}
IO库读入文件
最新推荐文章于 2024-05-17 11:10:00 发布