c++ - 如何将数据写入单独的行中的每个文件?

标签 c++ file io fstream

我想在单独的行中分别写入文件数据。代码如下所示:

#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,但它不起作用。你知道如何解决吗?谢谢。

最佳答案

不要对文本文件使用 std::ofstream::binary。打开为:

ofstream outFile("newData.txt", std::ofstream::out);

或等同于:

ofstream outfile("newData.txt");

关于c++ - 如何将数据写入单独的行中的每个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27028499/

相关文章:

c++ - 关于一段带有模板、转换运算符和复制构造函数的代码的问题

c++ - 一个非常非常长的数的模数 (fmod)

C++ 函数参数按值传递

c++ - 如何在 C++ 中使用 Mosquitto 发布文件?

java - 空格作为第一个字符读取文件java

c++ - 从以不同方式格式化的文件数据中读取。 C++

c++:通过单个函数调用替换多个索引相等性测试

file - Julia 对文件中的行进行双重迭代

javascript - 如何将包含javascript函数的文件的全部内容转换为javascript函数中的字符串

c - 使用 fgets 和 strtok 在 C 中读取 CSV 文件只读取第一列