我正在尝试打开此文件,但由于某种原因,它不会。我不明白我做错了什么。从我在网上看到的一切,似乎一切都是正确的。
#include <string>
#include <iostream>
#include <vector>
#include <fstream>
#include <sstream>
int main()
{
std::string accnts_file = "accnt_info.txt";
int accnt_counter = 0;
std::string strLine;
std::string strData;
std::vector< std::vector<std::string> > accnts;
std::ifstream ifs( accnts_file.c_str(), std::ifstream::in );
if( !ifs )
{
std::cerr << "Error opening file"
<< std::endl;
}
while( ifs.good() )
{
...
}
}
真的很感激任何帮助
答案 0 :(得分:1)
确保要加载的文件与可执行文件位于同一目录中。
可执行文件中的文件路径被解释为相对于可执行文件,如果不是绝对的
如果可执行文件中的文件路径是相对于生成exe的源文件,那么对于包含数千个源文件的大型程序来说,这将是一个巨大的混乱。
此外,源文件只存在于开发人员的网络上,因此任何家庭用户都会发现他的程序正在搜索他机器上不存在的荒谬路径。
文件路径是相对于可执行文件的目录,如果不是绝对的。文件路径在每次执行时都会被全新解释,因为内存会不断变化。