我正在爲學校編寫一個使用Xcode的程序,需要我們使用open()系統調用。我做
int input_file_desc = open(input_path, O_RDONLY);
printf("input file desc %d:\n", input_file_desc);
文件是否需要在C/C++中使用open()打開的擴展名?
,並將其與-1出現。該文件的路徑是〜/ data_to_read。我在xcode中設置了命令行參數。 input_path
是我從命令行獲得的const char *
。出於某種原因,如果我將文件名和命令行參數更改爲〜/ data_to_read.txt,它可以正常工作。讓我知道是否需要更多信息。謝謝。
編輯:我只用.txt試過,看看是不是這個問題,但是我仍然不知道爲什麼它需要首先擴展。你可以擁有沒有擴展名的文件嗎?在這種情況下,它應該仍然有效,只要文件路徑和參數都沒有擴展名,對吧?
擴展名是*名稱的一部分。文件名是「data_to_read.txt」,而不是「data_to_read」。 –