0

我已将所有打算在我的应用程序中用作输入流的文件保存在一个名为“res”的文件夹中。我正在尝试通过在应用程序中构建字符串然后使用以下方式打开它们来将这些文件用作输入流:

....
ifstream inputFile;
....
char fileName[30];
strcpy(fileName,"res/")
switch(num){
case 1:
    strcat(fileName,"file1");
case 2:
    strcat(fileName,"file2");
....
}

inputFile.open(fileName);
....

但是文件没有打开,我不知道为什么;该inputFile.is_open()方法返回false。所以我有两个问题:

  1. 如何引用子目录中的文件以及父目录中其他文件夹中的文件?

  2. 有没有比我用来做我上面想做的事情更好的做法?我很确定有!

我在 Ubuntu 12.04 和 g++-4.6 编译器上使用 eclipse CDT,如果这有区别的话。

4

1 回答 1

0

实际上,大卫在评论中给出了正确的答案。您忘记了案例后的休息并连接多个名称。还有你的疯狂技能,你最好避免使用 strcat 和其他低级函数并使用 std::string,否则你的下一个问题将是关于你的程序转储核心

于 2013-02-20T01:55:27.947 回答