求一个读取unicode字符编码的txt文本

guangdongmutou 2010-11-05 12:01:31
要求在控制台上显示不会出现乱码
...全文
127 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guangdongmutou 2010-11-09
  • 打赏
  • 举报
回复
忘了结贴。
guangdongmutou 2010-11-05
  • 打赏
  • 举报
回复
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
wifstream winFile;
winFile.open("d:\\dic\\words.txt");
wstring wstr;
getline(winFile,wstr);
wcout << wstr;
cin.get();
return 0;
}

有乱码
guangdongmutou 2010-11-05
  • 打赏
  • 举报
回复
请问使用哪里函数来读取字符串到wstirng?
[Quote=引用 1 楼 gules 的回复:]
使用wifstream、wcout及wstring
[/Quote]
gules 2010-11-05
  • 打赏
  • 举报
回复
使用wifstream、wcout及wstring
  • 打赏
  • 举报
回复
C++是学的晕晕呼呼,用C语言实现了。
网上查到的。
这个地址:http://blog.pfan.cn/miaowei/50816.html

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include <locale.h> //要加上这个

int main()
{
FILE *pflIn;
wchar_t pwcStr[102400];

setlocale(LC_ALL, "chs"); //设置本地字符集

pflIn=fopen("x.txt", "rb");
fgetws(pwcStr, 102400, pflIn);
while(!feof(pflIn))
{
wprintf(L"%s", pwcStr); //这个语句不行,晕
for(int i=0; pwcStr[i]!=0; i++)
{
putwchar(pwcStr[i]); //只有用这个才行。。。
}
fgetws(pwcStr, 102400, pflIn);
}
fclose(pflIn);
return 0;
}
dingshaofengbinbin 2010-11-05
  • 打赏
  • 举报
回复
winFile.open(L"d:\\dic\\words.txt");
shijf2010 2010-11-05
  • 打赏
  • 举报
回复
std::locale,ios_base::imbue

比如:
std::wcout.imbue(std::locale("chs"));

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧