、_wtempnam、 tmpnam函_tempnam式版本,_wtmpnam其使用、 的malloc_malloc_dbg偵錯版本。
語法
char *_tempnam_dbg(
const char *dir,
const char *prefix,
int blockType,
const char *filename,
int linenumber
);
wchar_t *_wtempnam_dbg(
const wchar_t *dir,
const wchar_t *prefix,
int blockType,
const char *filename,
int linenumber
);
參數
dir
如果沒有 TMP 環境變數,或 TMP 不是有效的目錄,則檔名中使用的路徑。
prefix
此字串會加在 _tempnam 所傳回的名稱前面。
blockType
要求的記憶體區塊類型:_CLIENT_BLOCK 或 _NORMAL_BLOCK。
filename
要求配置作業之原始程式檔的名稱的指標,或為 NULL。
linenumber
原始程式檔中的行號,其中要求配置作業,或為 NULL。
傳回值
每個函式都會傳回所產生名稱的指標,如果 NULL 發生失敗,則傳回 。 如果 TMP 環境變數和 dir 參數中指定了無效的目錄名稱,就可能發生失敗。
注意
不需要針對 free 和 free_dbg 配置的指標呼叫 _tempnam_dbg (或 _wtempnam_dbg)。
備註
和函_tempnam_dbg式與 和 _wtempnam 相同_tempnam,不同之處在於,定義時_DEBUG,這些函式會使用 和的_malloc_dbgmalloc偵錯版本,在 傳遞為第一個參數時NULL配置_wtempnam_dbg記憶體。 如需詳細資訊,請參閱_malloc_dbg。
在大部分情況下,您不需要明確呼叫這些函式。 但您可以定義 _CRTDBG_MAP_ALLOC 旗標。 定義 _CRTDBG_MAP_ALLOC 時,呼叫 _tempnam 和 _wtempnam 會分別重新對應至 _tempnam_dbg 和 _wtempnam_dbg,且 blockType 會設為 _NORMAL_BLOCK。 因此,除非您想要將堆積區塊標示為 _CLIENT_BLOCK,否則您不需要明確地呼叫這些函式。 如需詳細資訊,請參閱偵錯堆積上的區塊類型。
一般文字常式對應
| TCHAR.H 常式 | _UNICODE 和 _MBCS 未定義 |
_MBCS 已定義 |
_UNICODE 已定義 |
|---|---|---|---|
_ttempnam_dbg |
_tempnam_dbg |
_tempnam_dbg |
_wtempnam_dbg |
需求
| 常式 | 必要的標頭 |
|---|---|
_tempnam_dbg, _wtempnam_dbg |
<crtdbg.h> |
如需相容性詳細資訊,請參閱相容性。