namespace std {
char* tmpnam( char* filename );
}
概要
一時ファイル名を生成する。
渡した引数の中にファイル名が格納される。
この関数は引数にNULLを渡した場合にスレッドセーフではないため、使用時には注意が必要である。
また、生成された名前が他のファイル名とかぶらないことは保証されていない(保証する必要があるならばtmpfileを使用する)。
戻り値
成功した場合
- 渡した引数のポインタを返す。
- 渡した引数が
NULLであった場合、内部にある静的なバッファへのポインタが返される。
失敗した場合、NULLを返す。
例
#include <cstdio>
#include <iostream>
int main() {
char filename[L_tmpnam];
if (std::tmpnam(filename)) {
std::cout << "Generated filename: " << filename << '\n';
// ここで fopen(filename, "w") とかして使う(が、あまり推奨されない)
} else {
std::cerr << "Failed to generate temp name\n";
}
}
処理系
- Clang: ??
- GCC: ??
- Visual C++: ??