C 庫 - tmpnam() 函式



C 庫函式 char *tmpnam(char *str) 生成並返回一個有效的、不存在的臨時檔名。如果 str 為空,則只返回臨時檔名。此函式在您需要以最大程度減少名稱衝突的風險的方式建立臨時檔案時非常有用。

語法

以下是 C 庫函式 tmpnam() 的語法:

char *tmpnam(char *str);

引數

此函式只接受一個引數:

  • str: 指向至少包含 L_tmpnam 個字元的陣列的指標,生成的臨時檔名將儲存在此陣列中。如果 str 為 NULL,則 tmpnam 返回指向內部靜態緩衝區的指標,該緩衝區儲存臨時檔名。

返回值

成功時,函式返回一個指向包含生成的臨時檔名的字串的指標。如果 str 不為 NULL,則返回 str。如果 str 為 NULL,則返回指向內部靜態緩衝區的指標。

示例 1:使用靜態緩衝區的 tmpnam

此示例演示使用 NULL 的 tmpnam 來生成臨時檔名並將其儲存在內部靜態緩衝區中。

以下是 C 庫函式 tmpnam() 的示例。

#include <stdio.h>

int main() {
   char *filename;

   filename = tmpnam(NULL);
   printf("Generated temporary file name: %s\n", filename);

   return 0;
}

輸出

上述程式碼產生以下結果:

Generated temporary file name: /tmp/fileXXXXXX

示例 2:生成多個臨時檔名

此示例演示使用單獨的緩衝區生成多個臨時檔名,以確保每個檔名都獨立儲存。

#include <stdio.h>

int main() {
   char buffer1[L_tmpnam];
   char buffer2[L_tmpnam];

   tmpnam(buffer1);
   tmpnam(buffer2);

   printf("Generated temporary file name 1: %s\n", buffer1);
   printf("Generated temporary file name 2: %s\n", buffer2);

   return 0;
}

輸出

執行上述程式碼後,我們將得到以下結果:

Generated temporary file name 1: /tmp/fileXXXXXX
Generated temporary file name 2: /tmp/fileYYYYYY
廣告
© . All rights reserved.