#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
const char* FILE_PATH = "E:\\DIRTXT\\output.txt";
class MyFileStream
{
public:
MyFileStream() //构造函数,创建对象时立刻执行
{
// 检查文件是否存在,如果不存在,则创建新文件
if (!fileExists(FILE_PATH))
{
ofstream createFile(FILE_PATH);
if (createFile.is_open())
{
createFile.close();
}
else {
cout << "文件创建失败" << endl;
}
}
}
~MyFileStream() {}//析构函数,创建的对象结束时进行的操作
void writeFileOfOfstream(const string& writeStr)
{
ofstream ofs(FILE_PATH, ios_base::app);
if (!ofs.is_open())
{
cout << "文件打开失败" << endl;
return;
}
ofs << writeStr << endl;
}
void readFileOfIfstream(vector<string>& readStrs)
{
ifstream ifs(FILE_PATH, ios_base::in);
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
return;
}
while (!ifs.eof())
{
char readStr[100];
ifs.getline(readStr, 100);
string str(readStr);
readStrs.emplace_back(str);
}
ifs.close();
}
private:
// 检查文件是否存在
bool fileExists(const char* fileName)
{
ifstream file(fileName);
return file.good();
}
};
int main()
{
MyFileStream myFileStream;
vector<string> readStrs;
myFileStream.readFileOfIfstream(readStrs);//读取文件操作
// 检查文件是否存在
for (auto data : readStrs)
{
cout << data << endl;
myFileStream.writeFileOfOfstream(data);
}
return 0;
}