C語言新建臨時文件和臨時文件名的方法
C語言mkstemp()函數(shù):建立臨時文件
頭文件:
#include <stdlib.h>
定義函數(shù):
int mkstemp(char * template);
函數(shù)說明:mkstemp()用來建立唯一的臨時文件. 參數(shù)template 所指的文件名稱字符串中最后六個字符必須是XXXXXX. Mkstemp()會以可讀寫模式和0600 權限來打開該文件, 如果該文件不存在則會建立該文件. 打開該文件后其文件描述詞會返回. 文件順利打開后返回可讀寫的文件描述詞. 若果文件打開失敗則返回NULL, 并把錯誤代碼存在errno 中.
錯誤代碼:EINVAL 參數(shù)template 字符串最后六個字符非XXXXXX. EEXIST 無法建立臨時文件.
附加說明:
參數(shù) template 所指的文件名稱字符串必須聲明為數(shù)組, 如:
char template[] = "template-XXXXXX";
千萬不可以使用下列的表達方式
char *template = "template-XXXXXX";
范例
#include <stdlib.h> main() { int fd; char template[] = "template-XXXXXX"; fd = mkstemp(template); printf("template = %s\n", template); close(fd); }
執(zhí)行
template = template-lgZcbo
C語言mktemp()函數(shù):產(chǎn)生唯一臨時文件名
頭文件:
#include <stdlib.h>
定義函數(shù):
char * mktemp(char * template);
函數(shù)說明:mktemp()用來產(chǎn)生唯一的臨時文件名. 參數(shù)template 所指的文件名稱字符串中最后六個字符必須是XXXXXX. 產(chǎn)生后的文件名會借字符串指針返回.
返回值:文件順利打開后, 指向該流的文件指針就會被返回. 如果文件打開失敗則返回NULL, 并把錯誤代碼存在errno 中.
附加說明:參數(shù) template 所指的文件名稱字符串必須聲明為數(shù)組,如:
char template[] = "template-XXXXXX";
不可用
char * template = "template-XXXXXX";
范例
#include <stdlib.h> main() { char template[] = "template-XXXXXX"; mktemp(template); printf("template=%s\n", template); }
相關文章
C++之std::vector刪除元素的幾種方式及區(qū)別說明
這篇文章主要介紹了C++之std::vector刪除元素的幾種方式及區(qū)別說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08