我有一個非常簡單的程式prog.c:
int main(int argc, char ** argv) {
char * file_path = argv[2];
FILE * fp = fopen(file_path, "-rb");
if (fp == NULL) {
perror("\nerror");
}
}
我編譯程式
gcc -o prog prog.c -lrt
并運行
./prog --file Tiny.txt
和prog和Tiny.txt都直接在src目錄下(都在同一級別)。我不明白為什么fopen給我一個無效的引數錯誤。
我在 Ubuntu 20.04.3 上運行
uj5u.com熱心網友回復:
抱歉,我剛剛意識到我使用了-in -rb。它應該只是rb.
uj5u.com熱心網友回復:
問題是你在打開模式引數中使用了無效字符,報錯資訊很清楚,一個引數無效,第一個是檔案名,里面可以放任何東西……所以看看唯一的其他你有的引數。最后'-'是罪人。
uj5u.com熱心網友回復:
應該有:
FILE * fp = fopen(file_path, "rb");
代替:
FILE * fp = fopen(file_path, "-rb");
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/430403.html
