预先形成此代码以读取文件并在单独的行中打印每个字符\(字节)
适用于ASCII
void
preprocess_file (FILE *fp)
{
int cc;
for (;;)
{
cc = getc (fp);
if (cc == EOF)
break;
printf ("%c\n", cc);
}
}
int
main(int argc, char *argv [])
{
preprocess_file (stdin);
exit (0);
}
但是当我使用UTF-8编码的文本时,它显示出不可靠的角色 比如
ï
»
؟
ط
§
ظ
„
ظ
…
ط
¤
ط
´
ط
和建议?
由于
答案 0 :(得分:0)
要识别Unicode,您需要使用fgetwc
代替getc
。
此外,要使fgetwc
使用UTF-8,您可能需要配置环境以将UTF-8视为默认字符编码。但是,这是现代Linux系统的默认设置。