我正在尝试编写一个简单的程序来写入一个已经存在的文件。我收到此错误:
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;
}
最佳答案
里面有两个错误:
hello3.txt 是一个字符串,因此应该用引号引起来。
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/