0

我正在尝试使用变量文件名来加载文件。所有这些文件都存储在我的程序的同一个子目录中。我这样做是这样的:

int fileNum = whatever;
string fName;
stringstream ss;
ss << "Files\\Foo" << fileNum << ".csv";
fName = ss.str();

fstream foo (fName.c_str());

我遇到的问题是编译器拒绝用'\'替换“\\”。当然,使用 '\' 会产生编译器错误,但是当我调试时,手表显示 fName 的值是“Files\\Foo1.csv”,这当然不会打开任何东西。

4

1 回答 1

0

该问题与斜线无关。调试器在手表中转义斜线,所以你应该看到\\那里,这里没有错。您可以cout查看文件名是否正确。

很可能您的工作目录中没有指定的文件。检查您的 IDE 设置:可执行文件的目录是什么(通常称为输出路径)以及调试期间的工作目录是什么。

也尝试在没有 IDE 的情况下运行程序。

于 2013-05-11T19:48:58.653 回答