我有一个最初用g++编译的C++项目。现在,我正在尝试让它在Visual Studio2010中工作,问题是创建空输出文件的常规命令:
#include <fstream>
using namespace std;
ofstream fout("afile.txt");
fout<<"write someting"<<endl;
fout.close();在VS2010中不起作用(不创建任何文件)。即使文件已经存在,也不会在其上写入任何内容。
那么,在VS2010中从C++中打开要写入的文件的正确方法是什么?
发布于 2012-11-22 23:03:32
我怀疑这个文件是在您预期之外的地方创建的-检查工作目录所指向的位置。这是2012年,但即使不是相同的,也是非常相似的…右键单击vs2010中的项目,选择属性,然后选择调试并查看工作目录:

或者,构建它,并将应用程序复制到您创建的目录中-然后在命令行上运行它,以检查是否存在权限问题。
发布于 2012-11-22 23:01:13
下面的代码在我看来很好用:
#include <fstream>
using namespace std;
int main(){
ofstream fout("afile.txt");
fout << "write someting"<<endl;
fout.close();
return 0;
}您没有使用main方法(奇怪的是它没有给出任何语法错误)。当您创建这样的项目时,请确保它是一个ConsoleApplication并且是一个空项目(您可以在Win32应用程序向导(用于创建项目的向导)的"Additional Options“下选中此选项)。
标准C++应该可以在Visual Studio中工作。如果您希望确保只使用标准C++代码,则可以始终使用/Za编译器选项(请参见http://msdn.microsoft.com/en-us/library/0k0w269d.aspx)
发布于 2016-06-01 16:06:55
手动将afile.txt添加到与源文件相同的位置,然后运行程序。文本将写入到文件中。但请确保在运行该程序时afile.txt文件未打开
https://stackoverflow.com/questions/13515114
复制相似问题