我在这里查了类似的帖子,但似乎没有人为我的问题做这个工作。 我基本上尝试在.txt文件中输入一系列单词并将每个单词放在一个向量中,然后打印每个值。例如,我们有我喜欢赛车在 array.txt 中,我希望我的矢量有"我"在位置0,"爱"在1等等。不幸的是,代码无法访问" array.txt",因此它永远不会在if条件下执行代码。 现在我已经听说过使用fstream库它应该可以正常工作,但是找不到文件。我怀疑它无法正常工作,因为它无法找到路径,但我从未在C ++中打开过文件。另外,我没有把我的文件放在我的项目文件夹中。
我已尝试过一些变化:
我使用的是Windows 10,如果这很重要的话。
#include <iostream>;
#include <string>;
#include <vector>;
#include <fstream>;
//#include <"C:\Users\Samer El-Hage\Documents">;
using namespace std;
void main(){
vector<string> v (10);
ifstream file;
file.open("C:\array.txt", ios::in);
if (file.is_open())
{
for (int i = 0; i < 3; i++)
{
file >> v[i];
}
file.close();
}
else cout << "Could not access file.";
for (int i = 0; i < 3; i++)
{
cout << v[i] << " ";
}
}
此代码打印&#34;无法访问文件。&#34;
答案 0 :(得分:4)
无法打开文件,因为文件系统找不到名为“[Bell] rray.txt”的文件。字符序列'\ a'是“Make my computer Beep”字符。
使用正斜杠:"C:/array.txt"
,转义反斜杠:"C:\\array.txt"
或原始字符串文字:R"(C:\array.txt)"
该文件也必须存在于指定位置。如果您不提供驱动器并且只说"array.txt"
,则位置默认为可执行文件的位置(或在IDE中,工作目录)。
此外,您的包含后还有不必要的分号。 (事实上,在处理警告错误设置中,这将无法编译!)
答案 1 :(得分:1)
\a
只需打开电脑即可发出哔声。请尝试在"C:\\array.txt"
来电中写open
。
答案 2 :(得分:0)
我明白了!我没有将.txt文件放在我的文件夹中,包含源代码,奇怪的是,在我以前的搜索结果中没有提到...我需要更好地搜索!
答案 3 :(得分:-1)