_fputc_nolock _fputwc_nolock
寫入資料至一個字元,而不用鎖定的執行緒。
int _fputc_nolock(
int c,
FILE *stream
);
wint_t _fputwc_nolock(
wchar_t c,
FILE *stream
);
參數
c
要寫入的字元。stream
in FILE 結構的指標。
傳回值
這些函式都會傳回寫入的字元。如需錯誤資訊,請參閱 fputc fputwc。
備註
_fputc_nolock 和 _fputwc_nolock 與 fputc 和 fputwc分別是相同的,,,但不會防止由其他執行緒的功能。因為它們不會造成額外負荷鎖定其他執行緒,可能會比較快。在安全執行緒內容中只使用這些函式 (例如單一執行緒應用程式呼叫或的範圍控制代碼已經執行緒隔離的地方。
資料流,則在 ANSI 模式中,開啟兩個函式的作用完全相同。_fputc_nolock 目前不支援輸出入 UNICODE 資料流。
泛用文字常式對應
Tchar.h 常式 |
未定義的 _UNICODE 和 _MBCS |
已定義 _MBCS |
已定義 _UNICODE |
---|---|---|---|
_fputtc_nolock |
_fputc_nolock |
_fputc_nolock |
_fputwc_nolock |
需求
Function |
必要的標頭檔 |
---|---|
_fputc_nolock |
<stdio.h> |
_fputwc_nolock |
<stdio.h> 或 <wchar.h> |
主控台 Windows 市集 應用程式不支援。標準資料流控制代碼與主控台, stdin, stdout和 stderr,在這種情況下, C 執行階段函式在 Windows 市集 應用程式之前,可以使用它們必須重新導向。如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility) 。
範例
// crt_fputc_nolock.c
// This program uses _fputc_nolock
// to send a character array to stdout.
#include <stdio.h>
int main( void )
{
char strptr1[] = "This is a test of _fputc_nolock!!\n";
char *p;
// Print line to stream using fputc.
p = strptr1;
while( (*p != '\0') && _fputc_nolock( *(p++), stdout ) != EOF ) ;
}