當我嘗試在當前目錄中打開文件時,open函數正常工作,但如果我提到文件的目錄名稱作爲打開函數中的參數,文件未找到錯誤發生。此外,當我嘗試打開另一個目錄中的文件與打開功能,終端打印沒有這樣的文件或目錄。我無法找到寫入文件目錄的問題。c中的open函數在文件名寫入目錄時找不到文件
現在我正在'child1'目錄中工作,我想打開'openthis.c'文件。這是我想要執行的代碼。
#include<fcntl.h>
#include<stdlib.h>
#include<sys/stat.h>
int main(){
int fd;
if((fd = open("/child1/openthis.c", O_RDONLY) < 0){
perror("open");
exit(1);}
return 0;
}
這並不工作,但如果我寫
open("openthis.c", O_RDONLY)
,而不是
open("/child1/openthis.c", O_RDONLY)
的代碼工作正常。爲什麼你覺得我每次寫文件的目錄時都找不到文件?
是什麼'的ls -l/child1/openthis.c'說? – Mat
你確定你的文件夾在你的機器的根目錄嗎? – rpadovani
@Mat它說沒有這樣的文件或目錄,但是當我用'ls -l openthis.c'來完成時,它可以工作。 – user3655508