std::fclose
性病::
Defined in header | | |
---|---|---|
int fclose( std::FILE* stream | | |
关闭给定的文件流。任何未写入的缓冲数据都会被刷新到操作系统。任何未读取的缓冲数据都会被丢弃。
无论操作成功与否,流都不再与文件相关联,而缓冲区将由std::setbuf
或std::setvbuf
,如果有的话,如果使用自动分配,也会被取消关联和解除分配。
如果指针的值为stream
后用fclose
退货。
参数
stream | - | the file stream to close |
---|
返回值
0
在成功的时候,EOF
否则。
例
二次
#include <cstdio>
#include <cstdlib>
int main()
{
FILE* fp = std::fopen("test.txt", "r"
if(!fp) {
std::perror("File opening failed"
return EXIT_FAILURE;
}
int c; // note: int, not char, required to handle EOF
while ((c = std::fgetc(fp)) != EOF) { // standard C I/O file reading loop
std::putchar(c
}
if (std::ferror(fp))
std::puts("I/O error when reading"
else if (std::feof(fp))
std::puts("End of file reached successfully"
std::fclose(fp
}
二次
另见
fopen | opens a file (function) |
---|---|
freopen | open an existing stream with a different name (function) |
close | flushes the put area buffer and closes the associated file (public member function of std::basic_filebuf) |
c FCLOSE文件
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。