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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。