C語言wchar頭文件(wchar.h)中ungetwc函數的用法及代碼示例。
用法:
wint_t ungetwc (wint_t wc, FILE* stream);
從流中刪除寬字符
這寬字符可能是也可能不是從流在前麵的輸入操作中。在任何情況下,都將從以下位置檢索下一個寬字符流是wc,獨立於原始版本之一。
但是請注意,這僅會影響該設備上的進一步輸入操作流,而不是與之關聯的物理文件的內容,對此函數的任何調用都不會對其進行修改。
某些庫的實現可能支持多次調用此函數,從而使字符以相反的順序可用放回去。盡管此行為沒有標準的可移植性保證,並且在除第一個調用之外的任何數量的調用之後,其他調用都可能完全失敗。
如果成功,該函數將清除文件結束指示符的流(如果當前已設置)。這位置指示器具有未指定的值,直到所有字符都放回ungetwc已被再次讀取或丟棄。
調用fseek,fsetpos或者rewind在流會丟棄以前使用此函數放回其中的所有字符。
如果參數傳遞為wc是WEOF,操作失敗,輸入流保持不變。
這是寬字符等價於ungetc(<cstdio>)。
參數
返回值
成功之後,寬字符放回去。如果操作失敗,WEOF返回。
示例
/* ungetwc example */
#include <stdio.h>
#include <wchar.h>
int main ()
{
FILE * pFile;
wint_t wc;
wchar_t buffer [256];
pFile = fopen ("myfile.txt","rt");
if (pFile!=NULL) while (!feof (pFile)) {
wc=getwc (pFile);
if (wc != WEOF) {
if (wc == L'#') ungetwc (L'@',pFile);
else ungetwc (wc,pFile);
fgetws (buffer,255,pFile);
fputws (buffer,stdout);
}
}
return 0;
}
本示例打開一個現有文件,名為myfile.txt用於讀取並打印其行,但首先獲取每行的第一個字符,然後將其放回流中,除非該行以#,在這種情況下,將其替換為@。
相關用法
- C語言 fgetwc用法及代碼示例
- C語言 fgetws用法及代碼示例
- C語言 fputwc用法及代碼示例
- C語言 fputws用法及代碼示例
- C語言 fwide用法及代碼示例
- C語言 fwprintf用法及代碼示例
- C語言 fwscanf用法及代碼示例
- C語言 getwc用法及代碼示例
- C語言 getwchar用法及代碼示例
- C語言 putwc用法及代碼示例
- C語言 putwchar用法及代碼示例
- C語言 swprintf用法及代碼示例
- C語言 swscanf用法及代碼示例
- C語言 vfwprintf用法及代碼示例
- C語言 vfwscanf用法及代碼示例
- C語言 vswprintf用法及代碼示例
- C語言 vswscanf用法及代碼示例
- C語言 vwprintf用法及代碼示例
- C語言 vwscanf用法及代碼示例
- C語言 wprintf用法及代碼示例
- C語言 wscanf用法及代碼示例
- C語言 wcstod用法及代碼示例
- C語言 wcstof用法及代碼示例
- C語言 wcstol用法及代碼示例
- C語言 wcstold用法及代碼示例
- C語言 wcstoll用法及代碼示例
- C語言 wcstoul用法及代碼示例
- C語言 wcstoull用法及代碼示例
- C語言 btowc用法及代碼示例
- C語言 mbrlen用法及代碼示例
- C語言 mbrtowc用法及代碼示例
- C語言 mbsinit用法及代碼示例
- C語言 wcrtomb用法及代碼示例
- C語言 wctob用法及代碼示例
- C語言 wcsrtombs用法及代碼示例
- C語言 wcscat用法及代碼示例
- C語言 wcschr用法及代碼示例
- C語言 wcscmp用法及代碼示例
- C語言 wcscpy用法及代碼示例
- C語言 wcscspn用法及代碼示例
- C語言 wcslen用法及代碼示例
- C語言 wcsncat用法及代碼示例
- C語言 wcsncmp用法及代碼示例
- C語言 wcsncpy用法及代碼示例
- C語言 wcspbrk用法及代碼示例
- C語言 wcsrchr用法及代碼示例
- C語言 wcsspn用法及代碼示例
- C語言 wcsstr用法及代碼示例
- C語言 wcstok用法及代碼示例
- C語言 wmemchr用法及代碼示例
- C語言 wmemcmp用法及代碼示例
- C語言 wmemcpy用法及代碼示例
- C語言 wmemmove用法及代碼示例
- C語言 wmemset用法及代碼示例
- C語言 wcsftime用法及代碼示例
注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C ungetwc function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。