[fwide
函数的用途是什么?
int fwide(FILE *stream, int mode);
按照手册页显示:“设置并确定FILE流的方向”。什么意思文件流的方向?
根据我的想法,在使用fgetc
之类的功能从文件中读取字符时,需要一个字节来存储检索到的数据。因此,使用fwide
功能,我们可以将ascii字符的大小更改为与国际字符集(UCS)等效的大小。这样对吗 ?如果是正确的,该如何更改?
这里的方向是指文件中字符类型的方向。即流是字节字符还是宽字符(即char
或wchar_t
)。
如果mode>0
,它将尝试更改为宽字符(wchar_t
)的方向。
如果mode<0
,字节字符(char
)方向。
如果是mode==0
,则它不会尝试更改方向,而是将确定文件的当前方向。
int fwide(FILE * stream,int模式)是用于设置(也可以获取)流方向的功能。通过定向,这三件事中的任何一个都可以成立-
如果模式为0,则fwide确定流的当前方向。
如果模式为正,则该流面向宽字符。
如果模式为负,则流的字节为导向。
这用于获取,设置流
您的理解并非完全偏离轨道,只是有些。如果要读取wchar_t格式的数据,则将其设置为宽字符方向,否则通常的ASCII就足够了。
为了进一步简化,当您要读取简单的“ char”数据类型的超出容量]的字符时,请将方向更改为wchar_t。
我遇到以下情况,字节方向适用于“其他语言”字符。
错误=错误:严重性=严重性:状态=状态:
不知道它是如何工作的,但是,是的,使用该功能非常简单,除了已经“在线”播放。我试图设置使用重置流,并且重置部分失败。我想更好的方法是更多地使用它。
一旦设置文件,便无法更改其宽度。 fopen(3)
和freopen(3)
在其mode
参数中支持描述文件字符集的其他字符: