C++ 持续保存数据 换行
时间: 2023-08-12 15:33:10 浏览: 157
如果需要在 C++ 中持续向文件中保存数据并在每个数据项之间添加换行符,可以使用以下代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream file("data.txt"); // 创建文件对象
if (file.is_open()) { // 判断文件是否打开成功
string data;
while (true) {
cout << "Enter data (enter 'exit' to quit): ";
getline(cin, data); // 从控制台读取数据
if (data == "exit") {
break;
}
file << data << endl; // 写入数据并换行
}
file.close(); // 关闭文件
cout << "Data saved successfully!" << endl;
} else {
cout << "Failed to open file!" << endl;
}
return 0;
}
```
上述代码中,我们使用 `ofstream` 对象创建文件,并将文件名指定为 `data.txt`,然后使用 `is_open()` 方法判断文件是否打开成功。接着,使用一个循环不断从控制台读取数据,如果输入的数据为 "exit" 则退出循环,否则将数据写入文件,并使用 `endl` 操作符添加换行符。最后,使用 `close()` 方法关闭文件。
需要注意的是,在每次写入数据后,应该及时调用 `flush()` 方法将数据刷新到文件中,以确保数据能够被及时保存。如果不调用 `flush()` 方法,在程序异常退出或者关闭文件时,可能会导致部分数据未能保存到文件中。例如:
```c++
file << data << endl;
file.flush();
```
另外,如果需要在 Windows 平台上打开文件,则需要使用 `ios::out | ios::binary` 参数来创建文件对象,例如:
```c++
ofstream file("data.txt", ios::out | ios::binary);
```
这样可以确保在 Windows 平台上正确地处理换行符。
阅读全文