【发布时间】:2020-10-13 17:21:57
【问题描述】:
我写了一个简单的程序,我需要从文件中读取一些数字。
vector<unsigned long> readFile() {
ifstream dat("primes.txt", ios::in);
vector<unsigned long> praSt;
unsigned long i = 0;
while (dat >> i) praSt.push_back(i);
dat.close();
return praSt; }
我需要从文本文件中读取一些素数并用它们做某些事情。问题是dat 总是以NULL 结束。我尝试了一些人推荐的绝对文件路径、相对路径和\\ 的路径,但没有任何效果。
如果我在 Ubuntu VM 中运行它,它可以工作并且读取文件没有问题。但我习惯于在 Visual Studio (2019) 中进行调试。对于如何解决这个愚蠢的问题,我们将不胜感激。感谢您的宝贵时间。
【问题讨论】:
-
尝试一个实验:在您的代码中,打开一个要写入的文件,编写一些示例文本,然后关闭它。在您的文件系统中搜索此文件。读取文件时,包含文件夹将默认。
-
或者,您可以简单地使用
GetCurrentDirectory()查询调用进程的当前工作文件夹,这将告诉您使用相对路径打开文件时从何处访问文件。
标签: c++ visual-studio fstream