std::tmpfile

来自cppreference.com
< cpp‎ | io‎ | c

 
 
输入/输出库
I / O操纵
C-风格的I / O
缓冲区
原文:
Buffers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(已弃用)
原文:
Streams
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
抽象
原文:
Abstractions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
文件I / O
原文:
File I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_ifstream
basic_ofstream
basic_fstream
字符串I / O
原文:
String I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istringstream
basic_ostringstream
basic_stringstream
阵列的I / O
原文:
Array I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
istrstream(已弃用)
ostrstream(已弃用)
strstream(已弃用)
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
streamoff
streamsize
fpos
Error类的接口
原文:
Error category interface
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
iostream_category(C++11)
io_errc(C++11)
 
C-风格的I / O
功能
原文:
Functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
文件访问
原文:
File access
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
直接输入/输出
原文:
Direct input/output
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
fread
fwrite
未格式化的输入/输出
原文:
Unformatted input/output
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
格式化输入/输出
原文:
Formatted input/output
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
文件定位
原文:
File positioning
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
ftell
fgetpos
fseek
fsetpos
rewind
错误处理
原文:
Error handling
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
clearerr
feof
ferror
perror
对文件的操作
原文:
Operations on files
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
remove
rename
tmpfile
tmpnam
 
在头文件 <cstdio> 中定义
FILE* tmpfile();
创建并打开一个临时文件具有独特的自动生成的文件名.
原文:
Creates and opens a temporary file with unique auto-generated filename.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
打开该文件作为二进制文件进行更新(std::fopen访问模式"wb+")。至少TMP_MAX文件可以打开一个程序的生命周期内(此限制可能会与std::tmpnam,并可能进一步限制FOPEN_MAX
原文:
The file is opened as binary file for update (as by std::fopen with access mode "wb+"). At least TMP_MAX files may be opened during the lifetime of a program (this limit may be shared with std::tmpnam and may be further limited by FOPEN_MAX)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
如果程序关闭该文件,例如通过执行std::fclose,该文件被自动删除.
原文:
If the program closes the file, e.g. by executing std::fclose, the file is automatically deleted.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
如果程序正常终止(通过调用std::exit,返回main等),通过调用std::tmpfile打开的所有文件也会被自动删除.
原文:
If the program terminates normally (by calling std::exit, returning from main, etc), all files that were opened by calling std::tmpfile are also automatically deleted.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
如果程序异常终止,这是实现定义的,如果删除这些临时文件.
原文:
If the program terminates abnormally, it is implementation-defined if these temporary files are deleted.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 参数

(无)
原文:
(none)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 返回值

相关的文件流或NULL,如果发生了错误
原文:
The associated file stream or NULL if an error has occurred
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 注释

在某些实现中(如Linux),这个功能实际上是创建,打开,并立即删除该文件从文件系统:只要一个打开的文件描述符已删除的文件的程序举行,该文件存在,但由于它是删除,它的名字并没有出现在任何目录中,所以没有其他进程可以打开它。一旦文件描述符是封闭的,该文件所占据的空间是由文件系统“回收.
原文:
On some implementations (e.g. Linux), this function actually creates, opens, and immediately deletes the file from the file system: as long as an open file descriptor to a deleted file is held by a program, the file exists, but since it was deleted, its name does not appear in any directory, so that no other process can open it. Once the file descriptor is closed, the space occupied by the file is reclaimed by the filesystem.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 为例

#include <iostream>
#include <cstdio>
#include <cstdlib>
 
int main()
{
    FILE* tmpf = std::tmpfile();
    std::fputs("Hello, world", tmpf);
    std::rewind(tmpf);
    char buf[6];
    std::fgets(buf, sizeof buf, tmpf);
    std::cout << buf << '\n';
 
    // Linux-specific method to display the tmpfile name
    std::system("ls -l /proc/self/fd/3");
}

Possible output:

Hello
lrwx------ 1 user group 64 Jun 27 00:28 /proc/self/fd/3 -> /tmp/tmpfXu58Zi (deleted)

[编辑] 另请参阅

返回一个唯一的文件名
原文:
returns a unique filename
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
C documentation for tmpfile