我想在单独的行中写入文件数据。代码如下所示:
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void writeToFile(const vector<double> &data){
ofstream outFile("newData.txt", std::ofstream::binary);
double num1 = 1, num2 = 2, num3 = 4;
for (const auto &it : data) {
outFile << it << endl;
}
outFile.close();
}
int main(){
vector<double> data { 1, 2, 3, 4 };
writeToFile(data);
return 0;
}
“newData.txt”文件的输出是:
123
我想得到:
1
2
3
我使用endl,但它不起作用。你知道如何解决它吗?感谢。
答案 0 :(得分:1)
不要将std::ofstream::binary
用于文本文件。打开为:
ofstream outFile("newData.txt", std::ofstream::out);
或等效地:
ofstream outfile("newData.txt");
答案 1 :(得分:1)
因为你是以二进制模式打开文件。尝试使用outstream outFile(&#34; new.txt&#34;),这将以文本模式打开文件,endl现在应该在单独的行中写入数字。