【发布时间】:2022-01-13 19:24:11
【问题描述】:
我正在尝试创建一个简单的终端程序来生成随机的日语 Gojuōn。我有一个名为“source”的源文件,它看起来像这样:
A I U E O
Ka Ki Ku Ke Ko
...
あ い う え お
か き く け こ
...
现在,我正在尝试将每一行内容读入一个字符串变量,并将其打印到屏幕上,但我无法打开该文件。这是我的代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream source ("source");
string line;
if (source.is_open())
{
while (getline(source, line))
{
cout << line << "\n";
}
source.close();
}
else cout << "Unable to open file!\n";
}
当我在终端上运行代码时,我得到“无法打开文件!”。该代码与源文件位于同一目录中。
【问题讨论】:
-
文件应该和exe在同一个文件夹中,除非它们相同,否则不是源。
-
@JohnnyMopp ...假设您在运行它之前
cd进入包含该exe 的目录。 -
@0x5453 是的,无论当前目录是 exe 文件。
-
需要在当前目录下,可以和源目录无关,也可以和exe目录无关。或者(可能更好)是使用文件的完全限定路径,因此无论当前目录是什么,它都可以工作。
标签: c++ file-handling iostream