我正在尝试使用变量文件名来加载文件。所有这些文件都存储在我的程序的同一个子目录中。我这样做是这样的:
int fileNum = whatever;
string fName;
stringstream ss;
ss << "Files\\Foo" << fileNum << ".csv";
fName = ss.str();
fstream foo (fName.c_str());
我遇到的问题是编译器拒绝将“\\”替换为“\”。当然,使用'\'会产生编译错误,但是当我调试时,watch会显示fName的值为“Files \\ Foo1.csv”,当然不会打开任何内容。
答案 0 :(得分:0)
问题与斜杠无关。调试器在手表中转义斜杠,所以你应该看到\\
,这里没有错。您可以cout
文件名以查看它是否正确。
很可能您的工作目录中没有指定的文件。检查您的IDE设置:可执行文件的目录是什么(通常称为输出路径)以及调试期间工作目录是什么。
也可以尝试在没有IDE的情况下运行程序。