C++ 无法读取C+;中的.txt文件+;

C++ 无法读取C+;中的.txt文件+;,c++,C++,我有一个.txt文件,我尝试使用绝对路径“C:\Users\(完整路径)\A3Data”和静态路径(如代码所示): 双重反斜杠绝对路径,例如C:\\Users\\(完整路径)\\A3Data.txt也会显示错误 更改文件路径并将其添加到其他路径也会显示错误 当我试图从cmd读取我的文件时,我将其cd'ed到完整路径并键入文本文件名。我能正确地打开和阅读它。因此,我觉得我可以访问w.r.x,并且我有权访问该文件 更新: 我已经解决了我的问题。谢谢大家的回答 您需要使用双反斜杠或将文件路径声明为字符

我有一个.txt文件,我尝试使用绝对路径“C:\Users\(完整路径)\A3Data”和静态路径(如代码所示):

双重反斜杠绝对路径,例如
C:\\Users\\(完整路径)\\A3Data.txt
也会显示错误

更改文件路径并将其添加到其他路径也会显示错误

当我试图从cmd读取我的文件时,我将其cd'ed到完整路径并键入文本文件名。我能正确地打开和阅读它。因此,我觉得我可以访问w.r.x,并且我有权访问该文件

更新:


我已经解决了我的问题。谢谢大家的回答

您需要使用双反斜杠或将文件路径声明为字符串文本。您可以这样做:

string myPath = L"C:\Users\(full path)\A3Data.txt";
作为字符串文字,或

string myPath = "C:\\Users\\(full path)\\A3Data.txt";
作为正确转义的文件路径


如果上述操作不起作用,并且您已保证拥有正确的文件路径,则您可能没有正确的文件权限。您可以尝试以管理员身份运行命令行,然后从中执行代码,如果同样失败,请告诉我们。

您试图打开的文件可能有问题,您确定名称正确,并且它位于正确的目录中吗?是的。我甚至尝试过对.txt文件存储的绝对路径进行两次反斜杠。您能检查一下该文件是否与执行代码时位于同一位置吗?你有适当的访问权限吗?是的,我有。已检查文件属性处的访问权限。当我可以以管理员身份直接从cmd打开文件时,应该不会有问题。可能您的程序没有在管理员级别运行,这就是为什么我建议尝试从管理员命令提示符运行它的原因。无论哪种方式,你都在用任何一种方式看待问题;您对该程序的权限不正确,或者您的文件路径无效。没有其他任何东西会导致这个问题,当然,除非另一个程序正在使用这个文件并保持打开状态(这是不可能的,因为你以前从未说过它可以工作)。是的,我已经试过了。因为一个单反斜杠在C++中充当“断线”,如果是这样,那么你很可能有一个不正确的文件名,而且你需要扩展(我自己忘记了),所以我编辑了上面的代码。它在类unix系统上的工作方式可能不同。她可能是从一个不包含文本文件的文件夹中编译和运行他的可执行文件,这实际上会从相对路径引起问题。这可能发生在某些IDE上,如果项目设置配置不正确,这就是为什么我想让他尝试一个完整的路径调用。我包含文本文件的文件路径确实包含文本文件,但是它没有正确地读取它。我仍然不知道如何解决这个错误,即使我尝试了双重反斜杠,将文本文件移动到不同的路径,并从其他文件路径读取文件,它仍然给我相同的错误。
string myPath = L"C:\Users\(full path)\A3Data.txt";
string myPath = "C:\\Users\\(full path)\\A3Data.txt";