欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

創(chuàng)建臨時(shí)文件的函數(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;
}

測(cè)試程序

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

測(cè)試結(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下mysql如何自動(dòng)備份shell腳本

    linux下mysql如何自動(dòng)備份shell腳本

    對(duì)任何一個(gè)已經(jīng)上線的網(wǎng)站站點(diǎn)來(lái)說(shuō),數(shù)據(jù)備份都是必須的。無(wú)論版本更新還是服務(wù)器遷移,備份數(shù)據(jù)的重要性不言而喻。人工備份數(shù)據(jù)的方式不單耗費(fèi)大量時(shí)間和精力,還灰常不專業(yè)。下面小編給大家分享linux下mysql自動(dòng)備份shell腳本,需要的朋友可以參考下
    2015-09-09
  • jenkins 實(shí)現(xiàn)shell腳本化定時(shí)執(zhí)行任務(wù)的方法

    jenkins 實(shí)現(xiàn)shell腳本化定時(shí)執(zhí)行任務(wù)的方法

    這篇文章主要介紹了jenkins 實(shí)現(xiàn)shell腳本化定時(shí)執(zhí)行任務(wù),解決訪問(wèn)是jenkins構(gòu)建好之后將jar遠(yuǎn)程推送到生產(chǎn)服務(wù)器,提前退出后臺(tái)執(zhí)行服務(wù)器遠(yuǎn)程腳本,腳本通過(guò)ngnx提前切走nginx代理auction sleep 1800s,半小時(shí)后執(zhí)行更新重啟,具體操作過(guò)程跟隨小編一起看看吧
    2022-01-01
  • linux shell字符串內(nèi)置的常用操作(獲取長(zhǎng)度、查找、替換)

    linux shell字符串內(nèi)置的常用操作(獲取長(zhǎng)度、查找、替換)

    在編寫(xiě)shell程序時(shí),經(jīng)常會(huì)涉及到字符串相關(guān)操作。有許多命令語(yǔ)句,如awk,sed都能夠做字符串各種操作。 事實(shí)上shell內(nèi)置一系列操作符號(hào),能夠達(dá)到相似效果,使用內(nèi)部操作符會(huì)省略啟動(dòng)外部程序等時(shí)間,因此速度會(huì)很的快。如果內(nèi)置的操作符能夠做到的,優(yōu)先使用內(nèi)置的
    2015-12-12
  • 查看linux中某個(gè)端口(port)是否被占用的方法

    查看linux中某個(gè)端口(port)是否被占用的方法

    下面小編就為大家?guī)?lái)一篇查看linux中某個(gè)端口(port)是否被占用的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Linux shell查找文件顯示行號(hào)和對(duì)應(yīng)區(qū)間的內(nèi)容

    Linux shell查找文件顯示行號(hào)和對(duì)應(yīng)區(qū)間的內(nèi)容

    今天小編就為大家分享一篇關(guān)于Linux shell查找文件顯示行號(hào)和對(duì)應(yīng)區(qū)間的內(nèi)容,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Shell中關(guān)于時(shí)間和日期的函數(shù)總結(jié)

    Shell中關(guān)于時(shí)間和日期的函數(shù)總結(jié)

    本文給大家詳細(xì)介紹了shell下關(guān)于時(shí)間和日期的函數(shù)總結(jié),本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-05-05
  • linux awk高級(jí)應(yīng)用實(shí)例

    linux awk高級(jí)應(yīng)用實(shí)例

    今天看到unix shell 范例精解上有道awk的題目 做了以后拿來(lái)和大家分享下
    2016-08-08
  • linux下安裝oracle后使用命令行啟動(dòng)的方法 linux啟動(dòng)oracle

    linux下安裝oracle后使用命令行啟動(dòng)的方法 linux啟動(dòng)oracle

    這篇文章主要介紹了在linux下安裝oracle后使用命令啟動(dòng)oracle的方法,大家參考使用吧
    2014-01-01
  • Shell編程之變量數(shù)值計(jì)算方法示例

    Shell編程之變量數(shù)值計(jì)算方法示例

    這篇文章主要給大家介紹了關(guān)于Shell編程教程之變量數(shù)值計(jì)算的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 對(duì)shell中常見(jiàn)參數(shù)及判斷命令介紹

    對(duì)shell中常見(jiàn)參數(shù)及判斷命令介紹

    今天小編就為大家分享一篇對(duì)shell中常見(jiàn)參數(shù)及判斷命令介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論