0
当我使用参数运行我的代码时,当它位于另一个目录中时,我无法读取该文件,就像这样。使用C++ fstream类在另一个目录中打开一个文件
在控制台
./exit first/data.dat second/data.dat
的代码是:
#include <fstream>
int main(int argc, char *argv[]){
const char *In1 = argv[1];
const char *In2 = argv[2];
ifstream fp1;
ifstream fp2;
fp1.open(In1);
fp2.open(In2);
if(!fp1 || !fp2){
printf("Error");
}
...
}
此外,当参数在同一个目录中的文件作为exececutable完美的作品,这样的:
./exit data1.dat data2.dat
我尝试过不同的参数格式,例如:
./exit first\data.dat second\data.dat
./exit first//data.dat second//data.dat
./exit first\\data.dat second\\data.dat
./exit .first/data.dat .second/data.dat
./exit ..first/data.dat ..second/data.dat
./exit ../first/data.dat ../second/data.dat
./exit ..//first//data.dat ..//second//data.dat
等等
是与fstream
有什么错误的也是我给的参数或不同的东西的方式是什么?
不相关:命名您的程序“退出”可能不是一个好主意。 – 2014-10-31 01:51:06
你有权限访问这些文件吗?你提到的路径是不等于 – nakiya 2014-10-31 01:56:14
@nakiya是的,我有权限读取和写入这些文件,如果你指的是'./exit data1.dat data2.dat'只是一个例子,因为我不能在同一个目录中命名两个文件等于 – nnn7867 2014-10-31 02:01:43