clearerr_s
重設資料流的錯誤指示器。 這是 clearerr 的安全性強化版本,如 CRT 中的安全性功能 所述。
errno_t clearerr_s(
FILE *stream
);
參數
- stream
指向 FILE 結構的指標
傳回值
零,如果成功; EINVAL ,如果 stream 是空的。
備註
clearerr_s 函式會將錯誤指示器和檔案結尾標記的 stream。 不會自動清除錯誤指示器;一次指定的資料流的錯誤指示器設定,該資料流的作業繼續之前傳回 clearerr_s, clearerr, fseek, fsetpos的錯誤值,或者呼叫 rewind 。
如果 stream 為 NULL,則會叫用無效參數處理常式,如參數驗證中所述。 如果允許繼續執行,函式將 errno 設置為 EINVAL 並回傳 EINVAL 。
需求
常式 |
必要的標頭 |
---|---|
clearerr_s |
<stdio.h> |
如需其他相容性資訊,請參閱<簡介>中的相容性。
範例
// crt_clearerr_s.c
// This program creates an error
// on the standard input stream, then clears
// it so that future reads won't fail.
#include <stdio.h>
int main( void )
{
int c;
errno_t err;
// Create an error by writing to standard input.
putc( 'c', stdin );
if( ferror( stdin ) )
{
perror( "Write error" );
err = clearerr_s( stdin );
if (err != 0)
{
abort();
}
}
// See if read causes an error.
printf( "Will input cause an error? " );
c = getc( stdin );
if( ferror( stdin ) )
{
perror( "Read error" );
err = clearerr_s( stdin );
if (err != 0)
{
abort();
}
}
}
nnWrite
FakePre-a9c8b49bdd374cf5b6fefd4c97c9e289-0864bdf4325846be9e3a16b15bb9c799
.NET Framework 對等用法
不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例。