【发布时间】:2020-11-09 15:00:32
【问题描述】:
我正在使用 Visual Studio 作为 IDE 学习 C++。我目前正在做 io 流,但是当我尝试打开文件时,程序并没有打开该文件。
这里是代码 -
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include <vector>
int main()
{
std::ifstream file;
file.open("Text.txt");
if (file.is_open())
{
std::cout << "open" << std::endl;
}
else
std::cout << "not open" << std::endl;
}
我得到的输出为not open。
感谢任何帮助,谢谢
【问题讨论】:
-
所有非绝对的文件路径(以斜杠开头)都是相对的。它们是相对于当前正在运行的程序working directory。当您从 IDE 运行程序时,工作目录很可能不是您认为的那样。您可以更改运行设置以显式设置工作目录,或更改您的程序以使用文件的绝对路径。
-
我很惊讶没有规范的答案:ifstream can't find file
-
这可能是更好的答案:stackoverflow.com/questions/57281750/…
-
@Botje 如果你有时间,那么也许你可以合并不同的来源并写出那个规范的答案? :)
-
@Someprogrammerdude 我接受的答案对我有用。