gpt4 book ai didi

c++ - fstream 没有在文件上写任何东西

转载 作者:行者123 更新时间:2023-11-30 03:56:01 26 4
gpt4 key购买 nike

我正在尝试将一些内容写入文本文件,但它甚至无法创建文件。如果您能帮助我,我将不胜感激。谢谢。

#include <fstream>
#include <iostream>

int main(){
std::ofstream file;
file.open("path/to/file");

//write something to file
file << "test";

//printing to screen
std::cout << file.rdbuf();

//closing file
file.close();

return 0;
}

最佳答案

下面一行是你的罪魁祸首:

std::cout << file.rdbuf();

您不能使用 rdbuf 输出仅为写操作打开的文件。

删除该行,您的文件将被正确写入。


如果您想在完成写入后读取文件:

解决方案 1:使用 fstream 打开 file 进行读写操作:

std::fstream file("path/to/file", std::ios::in | std::ios::out);
// ... write to file

file.seekg(0); // set read position to beginning of file
std::cout << file.rdbuf();

解决方案 2:创建一个新的 std::ifstream 以从文件中读取:

 // ... write to file
file.close(); // call `close` to make sure all input is written to file

std::ifstream inputFile("path/to/file");
std::cout << inputFile.rdbuf();

关于c++ - fstream 没有在文件上写任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28711619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com