當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 tmpnam用法及代碼示例


C語言stdio頭文件(stdio.h)中tmpnam函數的用法及代碼示例。

用法:

char * tmpnam ( char * str );
生成臨時文件名
返回一個包含文檔名稱與任何現有文件的名稱不同,因此適合安全地創建臨時文件而不會冒險覆蓋現有文件。

如果str是一個空指針,結果字符串存儲在內部靜態數組中,可由返回值訪問。該字符串的內容至少會保留到隨後對該函數的調用,這可能會覆蓋它。

如果str不是空指針,它應指向至少一個數組L_tmpnam將使用建議的臨時文件名填充的字符。

此函數返回的文件名可用於使用以下命令創建常規文件fopen用作臨時文件。用這種方式創建的文件,不同於使用以下方式創建的文件tmpfile關閉時不會自動刪除;程序應調用remove關閉後刪除此文件。

參數

str
指向字符數組的指針,其中建議的臨時名稱將作為C字符串存儲。建議的數組大小至少為L_tmpnam字符。
或者,可以指定空指針以使用內部靜態數組存儲建議的臨時名稱,該臨時名稱由函數返回。

返回值

成功後,指向包含臨時文件建議名稱的C字符串的指針:
  • 如果str是一個空指針,則指向一個內部緩衝區(其內容至少保留到下一次對該函數的調用之前)。
  • 如果str不是空指針,則返回str。
如果函數無法創建合適的文件名,則返回空指針。

示例

/* tmpnam example */
#include <stdio.h>

int main ()
{
  char buffer [L_tmpnam];
  char * pointer;

  tmpnam (buffer);
  printf ("Tempname #1: %s\n",buffer);

  pointer = tmpnam (NULL);
  printf ("Tempname #2: %s\n",pointer);

  return 0;  
}


該程序將為臨時文件生成兩個不同的名稱。每個人都是通過以下兩種方法之一創建的:tmpnam可以使用。

可能的輸出:
Tempname #1: /s4s4.
Tempname #2: /s4s4.1

相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C tmpnam function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。