c++ - 使用 Ubuntu gedit 写入文件

标签 c++ ubuntu gedit

我正在尝试编写一个简单的程序来写入一个已经存在的文件。我收到此错误:

hello2.txt: file not recognized: File truncated
collect2: ld returned 1 exit status

我做错了什么? (我尝试了两种方式的斜线,但我仍然得到同样的错误。)

#include<iostream>
#include<fstream>
using namespace std;

int main()
{
    ofstream outStream;
    outStream.open(hello3.txt);
    outStream<<"testing";
    outStream.close;

    return 0;
}

最佳答案

里面有两个错误:

  1. hello3.txt 是一个字符串,因此应该用引号引起来。

  2. std::ofstream::close() 是一个函数,因此需要括号。

修改后的代码如下所示:

#include <iostream>
#include <fstream>

int main()
{
    using namespace std; // doing this globally is considered bad practice.
        // in a function (=> locally) it is fine though.

    ofstream outStream;
    outStream.open("hello3.txt");
    // alternative: ofstream outStream("hello3.txt");

    outStream << "testing";
    outStream.close(); // not really necessary, as the file will get
        // closed when outStream goes out of scope and is therefore destructed.

    return 0;
}

请注意:此代码会覆盖该文件中之前的任何内容。

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

相关文章:

mysql - Xampp:如何完全卸载以恢复旧的 MySQL 安装?

linux - TLS 连接被拒绝,日志中没有任何内容

gedit中c结构的自定义文本颜色

terminal - 如何使用外部工具将 gedit 中的当前代码行发送到终端并执行?

html - Pluma(RIP Gedit)是否有一个插件来突出显示匹配的 HTML 标签?

c++ - 字符串输入从行首开始并以空格结束

c++ - 无法捕获的自定义异常 C++

c++ - 对 cv::imread(cv::String const&, int) 的 undefined reference

c++ - 二维角色的 move 仅在一个方向上有效

php - 无法在 Ubuntu 16.04 上加载 PHP7 mongodb 驱动程序