c++ - 用C++写入文件

标签 c++ file fstream

我正在尝试使用 fstream 写入文件,但我的代码无法正常工作。你能帮我看看我做错了什么吗?

void mem_test()
    {
            fstream filepointer;
            string buffer;

            if ( filepointer.is_open() )
            {
                    filepointer.open("test.t", ios::in | ios::out | ios::binary);
                    getline(filepointer, buffer);
                    getline(filepointer, buffer);

                    filepointer << "TEST!" << endl;
            }
            filepointer.close();
    }

我的文件test.t(linux读写权限):

Example Line 1
Example Line 2
Example Line 3
Example Line 4

谢谢!

最佳答案

您在实际打开文件之前检查文件是否打开,因此它应该是:

void mem_test()
{
        fstream filepointer;
        string buffer;
        filepointer.open("test.t", ios::in | ios::out | ios::binary);
        if (filepointer.is_open())
        {
                getline(filepointer, buffer);
                getline(filepointer, buffer);
                filepointer << "TEST!" << endl;
                filepointer.close();
        }
}

关于c++ - 用C++写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36603466/

相关文章:

c++ - 无法打开文件并从中读取

C++ 在 Unicode 而不是 Ansi 中创建文件

c++ - Windows 上的 GNU GSL 和 MATLAB

c++ - QCalendarWidget - 如何突出显示日期

c++ - 如何在 C++ 中将 ssl 与 smtp 一起使用

java - Scala/Java - 未在指定目录内创建文件

file - 如何使用 Rust 创建二进制文件?

c# - 将指向类的指针从 C# 传递到非托管 C++ 代码

c++ - 是否可以将 cout 或 fout 传递给函数?

c++ - 使用getline从文件中读取多行?