O macro L_tmpnam expande para um inteiro constante, o qual deve ser o tamanho mínimo de uma cadeia de caracteres grande o suficiente para armazenar o nome de arquivo gerado pela função tmpnam.
Cadeias de caracteres menores que L_tmpnam não podem ser utilizadas seguramente com a função tmpnam. Com um tamanho menor que L_tmpnam, é possível que caracteres sejam escritos além do tamanho da string passada como parâmetro, corrompendo a memória do processo.
#include <stdio.h>
int main() {
/* L_tmpnam, mais 1, para o indicador de fim de cadeia de caracteres (\0). esta cadeia de caracteres pode ser utilizada seguramente com a função tmpnam */
char nome_arquivo_temporario[L_tmpnam+1];
tmpnam(nome_arquivo_temporario);
/* a variável nome_arquivo_temporario agora contém um caminho para um arquivo temporário ainda inexistente */
return 0;
}
tmpnam função