open函數是C語言中用來打開文件的函數。它通常用于以下幾種情況:
打開文件以供讀取:使用"r"模式打開文件,如果文件存在,則將文件指針定位到文件開頭;如果文件不存在,則打開失敗。 int fd = open(“file.txt”, O_RDONLY);
打開文件以供寫入:使用"w"模式打開文件,如果文件存在,則清空文件內容并將文件指針定位到文件開頭;如果文件不存在,則創建新文件。 int fd = open(“file.txt”, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
打開文件以供讀寫:使用"r+"或"w+"模式打開文件,如果文件存在,則將文件指針定位到文件開頭;如果文件不存在,則打開失敗。 int fd = open(“file.txt”, O_RDWR);
打開文件以供追加寫入:使用"a"模式打開文件,如果文件存在,則將文件指針定位到文件末尾;如果文件不存在,則創建新文件。 int fd = open(“file.txt”, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR);
open函數還可以設置一些其他的標志位,用于控制文件讀寫的行為,例如設置文件的權限、設置是否以非阻塞模式打開文件等。
需要注意的是,open函數返回一個整數文件描述符(file descriptor),該文件描述符在后續的文件讀寫操作中用于引用該文件。如果打開文件失敗,open函數將返回-1,并設置errno全局變量以表示出錯的原因。因此,使用open函數時應該先檢查返回值,以確保文件成功打開。