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