使用Ubuntu gedit写入文件

时间:2011-04-30 01:36:43

标签: 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 个答案:

答案 0 :(得分:5)

其中有两个错误:

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

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

  3. 更正后的代码如下所示:

    #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;
    }
    

    请注意:此代码会覆盖以前在该文件中的所有内容。