色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 函數tmpnam和tmpfile的用法

函數tmpnam和tmpfile的用法 時間:2018-09-21      來源:未知

標準I / O庫提供了兩個函數以幫助創建臨時文件,第一個函數為tmpnam。

#include <stdio.h>

char *tmpnam(char *s);

tmpnam()產生一個與現在文件名不同的一個有效路徑名字符串。每次調用它時,它都產生一個不同的路徑名。多調用次數為TMP_MAX。

tmpnam()的s如果為NULL,則返回值存放到一個靜態的區中。如果s不為NULL,則認為其指向長度至少為L_tmpnam個數的字符數組中。所產生的文件名存放到該數組中,也作為函數返回值返回。

tmpnam產生的文件名,在文件系統中一定不存在,因此,程序員可以創建臨時文件,進行后續編程。示例代碼如下:

#include <stdio.h>

#define N 128

int main() {

char s[N] = {0}, *p;

if ((p = tmpnam(s)) == NULL) {

perror("tmpnam");

return -1;

}

printf("s=%s p=%s\n", s, p);

return 0;

}

程序執行結果如下:

函數tmpnam和tmpfile的用法

tmpfile函數原型如下:

#include <stdio.h>

FILE *tmpfile(void);

創建的臨時文件在程序退出時會被自動刪除。

#include <stdio.h>

#define N 128

int main() {

char s[N] = {0}, *p;

FILE * fp;

int ch = 0;

if ((p = tmpnam(s)) == NULL) {

perror("tmpnam");

return -1;

}

printf("s=%s p=%s\n", s, p);

printf("TMP_MAX=%d\n", TMP_MAX);

if ((fp = tmpfile()) == NULL) {

perror("tmpfile");

return -1;

}

f (fputc('a', fp) == EOF) {

perror("fputc");

return -1;

}

fseek(fp, 0, SEEK_SET);

ch = fgetc(fp);

printf("ch=%d\n",ch);

getchar();

puts("end main");

fclose(fp);

ch = fgetc(fp);

printf("ch=%d\n",ch);

return 0;

}

程序執行結果如下:

函數tmpnam和tmpfile的用法

在getchar函數執行前,可以新開一個命令窗口,來查看進程占用的文件描述符,看到了/tmp下的臨時文件,并被系統做了deleted標記。從/tmp目錄下,也找不到這個臨時文件。但是這個文件在內存中是存在的(Linux系統規定,一個文件如果有連接計數器不為0,或者其進程打開數不為0,均不會刪除其文件內容)。

函數tmpnam和tmpfile的用法

另外,自己實現一個tmpfile()函數,也非常簡單,步驟如下:

先調用tmpnam()產生一個唯一的路徑名。

調用fopen()打開。

調用unlink()刪除。

說明:利用這個特點來實現tmpfile()。

上一篇:Linux下printf輸出字符串的顏色

下一篇:不定參函數

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5,京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 国产精选久久久久久| 国产欧美精品一区二区三区介绍| 6080yy精品一区二区三区| 国产精品视频yy9099| 国产午夜一区二区| 色综合男人天堂| 亚洲第一视频在线观看| 久久91超碰青草是什么| 欧洲精品在线视频| 亚洲精品美女在线| 疯狂欧美牲乱大交777| 91免费国产网站| 精品久久中文字幕久久av| 国产噜噜噜噜噜久久久久久久久| 在线亚洲欧美视频| 欧洲亚洲在线视频| 中文字幕在线精品| 国产精品免费观看在线| 久青草国产97香蕉在线视频| 国产精品免费观看在线| 九九热精品视频| 亚洲级视频在线观看免费1级| 色综合久久久888| 亚洲男人天堂久| 国产成人精品999| 欧美老肥婆性猛交视频| 亚洲曰本av电影| 性色av一区二区三区在线观看| 亚洲石原莉奈一区二区在线观看| 日本19禁啪啪免费观看www| 久久精品国产久精国产思思| 亚洲综合中文字幕68页| 久久久久久久久久久人体| 伊人伊成久久人综合网小说| 国产色婷婷国产综合在线理论片a| 欧美日韩一区二区在线| 亚洲视频专区在线| 成人在线免费观看视视频| 69av在线播放| 日韩欧美成人网| 日韩中文字幕免费看|