编写STL程序,将用户从键盘输入的若干字符串按行写入到文件中,直到输出end为止,最后读取文件中的内容输出并显示到屏幕上
时间: 2024-03-10 10:49:17 浏览: 18
以下是实现该功能的代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<string> lines; // 存储输入的字符串
string line;
cout << "请输入字符串,以end结束:" << endl;
while (getline(cin, line)) { // 从键盘读入一行字符串
if (line == "end") {
break; // 如果输入的是end,则退出循环
}
lines.push_back(line); // 将读入的字符串存储到vector中
}
ofstream out("output.txt"); // 打开文件写入流
for (auto& line : lines) {
out << line << endl; // 将vector中的每个字符串逐行写入文件
}
out.close(); // 关闭写入流
ifstream in("output.txt"); // 打开文件读取流
while (getline(in, line)) { // 从文件中逐行读取字符串并输出到屏幕上
cout << line << endl;
}
in.close(); // 关闭读取流
return 0;
}
```
该程序首先定义了一个vector来存储用户输入的字符串。然后通过一个while循环,不断从键盘读入一行字符串,直到输入end为止。在读入每行字符串后,将其存储到vector中。接着,程序通过ofstream打开一个文件写入流,并将vector中的每个字符串逐行写入文件。写入完成后,关闭写入流。之后,程序通过ifstream打开一个文件读取流,从文件中逐行读取字符串并输出到屏幕上。最后,程序关闭读取流并结束运行。