最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

unix編程創(chuàng)建前綴固定的臨時文件代碼分享

 更新時間:2013年12月19日 15:22:57   作者:  
unix編程創(chuàng)建一個前綴固定的臨時文件,實現(xiàn)功能:創(chuàng)建一個臨時文件,并返回其文件描述符

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

創(chuàng)建臨時文件的函數(shù)

復(fù)制代碼 代碼如下:

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;
}

測試程序

復(fù)制代碼 代碼如下:

#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;
}

測試結(jié)果

復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • Linux?grep?-q用法示例詳解

    Linux?grep?-q用法示例詳解

    grep指令用于查找內(nèi)容包含指定的范本樣式的文件,如果發(fā)現(xiàn)某文件的內(nèi)容符合所指定的范本樣式,預(yù)設(shè)grep指令會把含有范本樣式的那一列顯示出來,這篇文章主要介紹了Linux?grep?-q用法示例詳解,需要的朋友可以參考下
    2023-02-02
  • Linux Shell 腳本編程入門教程

    Linux Shell 腳本編程入門教程

    Linux的Shell種類眾多,常見的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),Shell是用戶與Linux操作系統(tǒng)溝通的橋梁,對本文感興趣的朋友一起看看吧
    2015-11-11
  • linux安裝php擴(kuò)展腳本分享

    linux安裝php擴(kuò)展腳本分享

    本文主要介紹了linux下安裝php擴(kuò)展的步驟,安裝是由shell批量執(zhí)行的,,需要的朋友可以參考下
    2014-03-03
  • linux下安裝oracle后使用命令行啟動的方法 linux啟動oracle

    linux下安裝oracle后使用命令行啟動的方法 linux啟動oracle

    這篇文章主要介紹了在linux下安裝oracle后使用命令啟動oracle的方法,大家參考使用吧
    2014-01-01
  • linux自動清理日志腳本分享

    linux自動清理日志腳本分享

    這篇文章主要介紹了linux自動清理日志腳本,主要功能是清理所有目錄的日志,根據(jù)給定日志目錄,刪除時間 結(jié)合crontab進(jìn)行清理日志
    2014-01-01
  • 用expect實現(xiàn)的自動登錄到多臺服務(wù)器的shell腳本

    用expect實現(xiàn)的自動登錄到多臺服務(wù)器的shell腳本

    自動登錄到多臺服務(wù)器的shell腳本,用expect來實現(xiàn)的一段代碼,需要的朋友可以參考下
    2013-02-02
  • 積累linux常用命令大全

    積累linux常用命令大全

    Linux命令是對Linux系統(tǒng)進(jìn)行管理的命令。對于Linux系統(tǒng)來說,無論是中央處理器、內(nèi)存、驅(qū)動、鍵盤、鼠標(biāo),還是用戶等都是文件,Linux命令是它正常運行的核心,這篇文章主要總結(jié)了linux常用命令,需要的朋友可以參考下
    2015-08-08
  • 詳解如何在Linux中創(chuàng)建和使用別名命令

    詳解如何在Linux中創(chuàng)建和使用別名命令

    Linux?用戶經(jīng)常需要反復(fù)使用一個命令,一遍又一遍地鍵入或復(fù)制相同的命令會降低您的工作效率并分散您對應(yīng)該做的事情的注意力,這個時候我們可以通過為最常用的命令創(chuàng)建別名來節(jié)省一些時間,接下來將給大家介紹一下如何在Linux中創(chuàng)建和使用別名命令
    2023-07-07
  • Shell多線程操作及線程數(shù)控制實例

    Shell多線程操作及線程數(shù)控制實例

    這篇文章主要介紹了Shell多線程操作及線程數(shù)控制實例,文中從單線程實現(xiàn)一個需求開始,不斷加入代碼實現(xiàn)多線程以及線程數(shù)的控制功能,需要的朋友可以參考下
    2014-07-07
  • Linux中查看服務(wù)器內(nèi)存/CPU/網(wǎng)絡(luò)占用情況的命令

    Linux中查看服務(wù)器內(nèi)存/CPU/網(wǎng)絡(luò)占用情況的命令

    這篇文章主要為大家整理了一些Linux中查看服務(wù)器內(nèi)存、CPU和網(wǎng)絡(luò)占用情況的命令,文中的示例代碼簡潔易懂,需要的小伙伴可以參考一下
    2023-08-08

最新評論

临朐县| 郯城县| 新宾| 天祝| 互助| 特克斯县| 锦州市| 黄山市| 包头市| 辽宁省| 永顺县| 金寨县| 察雅县| 临泽县| 淮阳县| 神农架林区| 扎兰屯市| 灵台县| 铜陵市| 栾川县| 霍邱县| 博客| 赤壁市| 惠安县| 上思县| 自治县| 柏乡县| 苗栗市| 太谷县| 当雄县| 建宁县| 临猗县| 泉州市| 来安县| 恩施市| 洛宁县| 彰武县| 张家界市| 宁安市| 绵阳市| 新晃|