C++ 为什么文件不是';t打开C++;?

C++ 为什么文件不是';t打开C++;?,c++,fstream,C++,Fstream,我只是第一次尝试这段代码。我无法找到错误的根源 代码如下: #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { fstream file; file.open("C:\\Users\\AfzaalAhmad\\Documents\\text.txt"); ret

我只是第一次尝试这段代码。我无法找到错误的根源

代码如下:

#include "stdafx.h"
#include <iostream>
#include <fstream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    fstream file;
    file.open("C:\\Users\\AfzaalAhmad\\Documents\\text.txt");
    return 0;
}
#包括“stdafx.h”
#包括
#包括
使用名称空间std;
int _tmain(int argc,_TCHAR*argv[]
{
流文件;
打开(“C:\\Users\\AfzaalAhmad\\Documents\\text.txt”);
返回0;
}
该文件位于该位置。下面是文件系统的屏幕截图

在这种情况下没有例外,但该文件从未打开过


哪里缺少代码?

您编写的命令将在该位置打开文件句柄。为了使用它做任何事情,您需要某种读或写操作。可能您的代码工作正常:)

例如,在
文件.open(“…”)
行之后:

file << "This is some text to send to my now open file\n";
...
file.close();

文件是否需要双反斜杠?它不应该像C:\path\to\my\file一样吗?@sergico我需要避开反斜杠。。因为当我使用单斜杠时,它会出错!双反斜杠是必要的,第一个反斜杠表示第二个字母。你怎么知道文件没有打开?你不检查它?它在记事本或你知道的东西中不打开——你只是在C++程序中有一个FScript对象,让你从那里读取它。例如,你可以说
std::string line;while(getline(file,line))std::不客气。我用一些例子编辑了我的答案,@karakale的另一个答案可能会对你有所帮助:)我本想尝试一下他的教程链接,但我不知道为什么这个网站在这里三天后就关闭了:…@AfzaalAhmadZeeshan:不,你应该使用。嗯,我承认使用了cplusplus.com很多次,但我听说它不是很好。正如@LightnessRacesinOrbit所指出的,关于最好的C/C++书籍也有一个问题,有一些非常广泛的答案。@chrisb2244:现在的参考资料相当准确,维护得很好,但论坛的贡献不是天生的同行评审,由于这个网站的名字,你会得到很多入门级的贡献,这些贡献会教你一些不好的做法和错误,这些都是由那些还不太了解的人写的。这是一个恶性循环,真的。这本教程还可以,但不能代替一位著名作家写的一本完整的书。