臨時檔案是乙個暫時用來儲存資料的檔案。如果使用建立普通檔案的方法來建立檔案,則可能遇到檔案是否存在,是否有檔案讀寫許可權的問題。linux系統下提供的建立唯一的臨時檔案的方法如下:
#includechar *tmpnam(char *s);
file *tmpfile();
函式tmpnam()產生乙個唯一i的檔名。如果參量為null,則在乙個內部使用的緩衝區內產生檔名,當下一次呼叫該函式的時候,則可能覆蓋該檔名。如果引數不是為null,則名字拷貝到字串中,字串的長度至少為l_tmpnam,它定義在stdio.h中。如果不成功則函式返回null。函式tmpfile()則返回乙個臨時檔案的描述符,檔案的開啟屬性是讀和寫。相當於使用fopen以w+開啟。如果不成功則返回null。
下面是乙個簡短的列子。
#includeint main()else
return 0;
}
此外,還有兩個函式也可以建立臨時檔案:
#includechar *mktemp(char *template);
int mkstemp(char *template);
函式mktemp()從給定的模組template中建立唯一的臨時檔名。模版可以是檔案路徑的字首,模版的最後6個字元必須是「******」,比如:
char template[l_tmpnam];
char *filename;
strcpy(template, "/temp/wyp******");
filename = mktemp(template);
printf("temporary file name is %s\n", filename);
函式mkstemp()類似於tmpfile(),但是開啟的檔案相當於使用提供底層的檔案操作函式open()開啟檔案。 C 建立臨時檔案
1.在臨時檔案只能夠建立乙個臨時檔案並返回該檔案的完整路徑 在臨時檔案只能夠建立乙個臨時檔案並返回該檔案的完整路徑 c documents and settings yourname local settings temp t e6.tmp system.io.path.gettempfilenam...
unix臨時檔案建立
看例子,建立乙個檔案,在unlink,檔案i節點的鏈結數變為0,但持有該檔案的控制代碼,依然可以fgets和fputs該檔案,說明檔案的資料塊依然存在,在fclose之後,才徹底刪除,這就是使用臨時檔案的原理 include include include include include setvb...
C建立臨時檔案
前言 linux下除了有實實在在的檔案外,還可以建立臨時的檔案和目錄,這裡介紹兩個建立臨時檔案的函式,tmpfilef和mkstemp,以及建立臨時目錄的函式mkdtemp。這三個函式具體用法如下。一 建立乙個無名的臨時檔案,程式退出時關閉臨時檔案 1 標頭檔案 include 2 函式原型 fil...