校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > unix編程創建前綴固定的臨時文件代碼分享

unix編程創建前綴固定的臨時文件代碼分享

熱門標簽:河南信譽好的不封卡電話外呼系統 地圖標注員都是年輕人 如果做線上地圖標注 百度地圖標注錯了有責任嗎 揭陽智能電話機器人推薦 華鋒e路航港口地圖標注 客服外呼系統怎么樣 打電話機器人接我是他的秘書 江蘇云電銷機器人公司

參數:
pathname,存儲臨時文件的路徑文件名,需要手動free()掉。
dir,臨時文件的路徑,如果TMPDIR環境變量不為空,則此參數被忽略,轉而使用環境變量。
pfx,臨時文件名的前綴,只使用前5個字符。
注:
創建的臨時文件需要手動unlink()掉。

創建臨時文件的函數

復制代碼 代碼如下:

int  Make_temp_file(char **pathname,const char *dir,const char *pfx){
 char *ptr,*tmp;
 size_t len;
 int fd;
 debug_assert("Invalid pointer","Make_temp_file()",pathname);
 /*前綴只能是多于5字符*/
 if(pfx (len=strlen(pfx))>0){
  tmp=(char*)Malloc((len>5?5:len)+1);
  strncpy(tmp,pfx,len>5?5:len);
 }
 else
  tmp=NULL;
 ptr=tempnam(dir,tmp);
 if(tmp)free(tmp);
 len=strlen(ptr);
 tmp=(char*)Malloc(len+6+1);
 if(snprintf(tmp,len+6+1,"%sXXXXXX",ptr)==-1)
  err_sys(errno,"snprintf() error");
 free(ptr);
 fd=Mkstemp(tmp);
 *pathname=tmp;
 return fd;
}

測試程序

復制代碼 代碼如下:

#include "wrap_ext.h"

int main(int argc,char **argv){
 int fd;
 char *path;
 if(argc!=3)
  err_quit(-1,"usage %s dir> prefix>",argv[0]);
 fd=Make_temp_file(path,argv[1][0]==' '?NULL:argv[1],argv[2][0]==' '?NULL:argv[2]);
 err_msg("temporary file path:%s",path);
 Close(fd);
 Unlink(path);
 free(path);
 return EXIT_SUCCESS;
}

測試結果

復制代碼 代碼如下:

root@U-SERVER:/home/apu/sysinfo# ./tmpfile " " " "
temporary file path:/tmp/fileq55hoF8swFfa
root@U-SERVER:/home/apu/sysinfo# ll /tmp/fileq55hoF8swFfa
ls: cannot access /tmp/fileq55hoF8swFfa: No such file or directory
root@U-SERVER:/home/apu/sysinfo# ./tmpfile " " tmp_
temporary file path:/tmp/tmp_0rzhqozlthxW
root@U-SERVER:/home/apu/sysinfo# ./tmpfile /home tmp_
temporary file path:/home/tmp_phzxvRrp33OL

您可能感興趣的文章:
  • 解決MySQL因不能創建臨時文件而導致無法啟動的方法
  • python創建臨時文件夾的方法
  • C#創建臨時文件的方法
  • java實現創建臨時文件然后在程序退出時自動刪除文件
  • File.createTempFile創建臨時文件的示例詳解

標簽:邵陽 淘寶邀評 馬鞍山 金昌 婁底 許昌 赤峰 巴彥淖爾

巨人網絡通訊聲明:本文標題《unix編程創建前綴固定的臨時文件代碼分享》,本文關鍵詞  unix,編程,創建,前綴,固,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《unix編程創建前綴固定的臨時文件代碼分享》相關的同類信息!
  • 本頁收集關于unix編程創建前綴固定的臨時文件代碼分享的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 利辛县| 安乡县| 临湘市| 富锦市| 沈丘县| 桦南县| 白水县| 焦作市| 武宁县| 万载县| 竹山县| 吉木乃县| 南充市| 呼伦贝尔市| 临安市| 阿拉善左旗| 鹰潭市| 麻城市| 祁门县| 西华县| 沾益县| 安丘市| 安宁市| 于都县| 仁布县| 柳州市| 贡觉县| 钟祥市| 九龙县| 桂林市| 安康市| 靖远县| 文成县| 赫章县| 普定县| 萍乡市| 青阳县| 新乡市| 和田市| 梨树县| 青神县|