这是我写的获取TXT文件内容的代码,但是在获取中文时就会乱码,这怎么解决??C++
ifstreaminput("c:\\a.txt");if(!input){cerr<<"error!";}stringline,word;stringArray[3][...
ifstream input("c:\\a.txt");
if(!input)
{
cerr << "error!";
}
string line, word;
string Array[3][4];
int m(0), n(0);
while (getline(input, line)) //读取每行的字符
{
istringstream isstream(line);
while (isstream >> word) //读取该行用空格隔开的单个数据
{
Array[m][n] = word;
++n;
}
++m;
n = 0;
}
input.close(); 展开
if(!input)
{
cerr << "error!";
}
string line, word;
string Array[3][4];
int m(0), n(0);
while (getline(input, line)) //读取每行的字符
{
istringstream isstream(line);
while (isstream >> word) //读取该行用空格隔开的单个数据
{
Array[m][n] = word;
++n;
}
++m;
n = 0;
}
input.close(); 展开
1个回答
展开全部
文件以什么格式保存的就必须以什么格式打开。不然就会是乱码。
如果仅假设文件以unicdoe或是当前字符编码保存(一般来说就是中文了),那可以看一下mingjin654321给你的方案。还有一些在此基础上扩展的方案。
如果你需要使用的是多国语言,那么还有两个方案。一个是微软提供了检测字符编码的接口IMultiLanguage3有人使用c#做了移植,还有Mozilla 有一个项目叫Universal Charset Detector也是对检测字符编码的组件,也有人使用C#做了移植。
如果仅假设文件以unicdoe或是当前字符编码保存(一般来说就是中文了),那可以看一下mingjin654321给你的方案。还有一些在此基础上扩展的方案。
如果你需要使用的是多国语言,那么还有两个方案。一个是微软提供了检测字符编码的接口IMultiLanguage3有人使用c#做了移植,还有Mozilla 有一个项目叫Universal Charset Detector也是对检测字符编码的组件,也有人使用C#做了移植。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询