1个文件[C]中2种不同的文本编码
每个人都有好消息 我执行学习任务,它的工作与输入/输出文本的文件。一般来说,该计划的要点是:1个文件[C]中2种不同的文本编码,c,encoding,C,Encoding,每个人都有好消息 我执行学习任务,它的工作与输入/输出文本的文件。一般来说,该计划的要点是: 打开文件 编码的定义(在测试文件中我有ANSI、UTF-8、UTF-16) 解析文本 将结果输出到文件 为了处理文本,我使用char和wchar类型和函数WideCharToMultiByte()。问题是,如果输入文件具有输出UTF-8或UTF-16编码,则输出文件具有两种不同的编码 第一部分是从输入文件复制文本的结果。 读取输入文件 while (!feof(file)) { w = get
WideCharToMultiByte()
。问题是,如果输入文件具有输出UTF-8
或UTF-16
编码,则输出文件具有两种不同的编码
第一部分是从输入文件复制文本的结果。
读取输入文件
while (!feof(file))
{
w = getwc(file);
wch_buffer[i] = w;
i++;
}
转换为字符
size = WideCharToMultiByte(CP_UTF8, 0, wch_buffer, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_UTF8, 0, wch_buffer, -1, result, size, NULL, NULL);
并添加到输出文件中
fputs(ch_buffer, OutPut);
第二部分是解析器添加的文本。在这两种情况下都有西里尔符号。
那样的事
fprintf(OutPut,"\nОшибка. На строке %d обнаружен повторное открытие тега",Line);
然后我在记事本++中打开输出文件并更改编码。在此之后,只有1部分文本可读(两部分都可读拉丁符号)。顺便说一下,在控制台里,一切都很好。
IDE VS2012
2幅图片显示了在记事本中更改编码时发生的情况++
问题是2在1个文件中编码,部分文本不可读。这似乎不是一个问题。。。什么事让你烦恼?你有什么问题?你能发布一些代码示例吗?通过发布这样的问题听起来更像垃圾邮件。编辑它,希望变得更清晰