`
runfeel
  • 浏览: 905433 次
文章分类
社区版块
存档分类
最新评论

把工程改为Unicode的 来查看Unicode的txt文件 取出每一行的汉字

 
阅读更多

(1)把 Preprocessor Definitiond写入UNICODE,_UNICODE (要选择一下默认的值这样才能改的生效)

(2)工程改成Unicode的

#ifdef _UNICODE
#define tstring std::wstring

#else
#define tstring std::string
#endif

实现过程:

readtxt.cpp:

#include "stdafx.h"
#include <stdio.h>
#include<fstream>


using namespace std;

tstring getline(FILE *stream)
{
tstring strRet;
TCHAR line[100] = {0};
while( _fgetts( line, 100, stream ) != NULL)
{
if (line[0] == 0xFEFF)//unicode 文件的头
{
strRet += &line[1];
}
else
{
strRet += line;
}
if (line[_tcslen(line)-1] == _T('\n'))
{
break;
}
}
return strRet;
}

void Trim( tstring& str , const tstring& chars =_T(" \t" ))
{
str.erase(str.find_last_not_of(chars)+1);
str.erase(0, str.find_first_not_of(chars));
}

int main(int argc,char **argv)
{
FILE *stream = NULL;
TCHAR szUserSuffix [20] = _T("E:\\1.txt");
TCHAR strQuickUser[100]={0};
if( _wfopen_s( &stream,strQuickUser, _T("rt+,ccs=UNICODE ") ) == 0 ) //用到的函数都是多字节的;
{
tstring sRead;
while (!feof(stream))
{
sRead = getline(stream);
if (sRead.empty())
{
continue;
}
else
{

int n;
n=sRead.find(_T("="));
tstring s1 = _T("");
tstring s2 = _T("");
s1=sRead.substr(0,n);
s2=sRead.substr(n+1,sRead.length());
Trim(s1);
Trim(s2);
TCHAR tstrInitial[200];
TCHAR tstrChinese[200];
TCHAR tstrEspecial[200];
bool flag = false;
_tcscpy(tstrInitial ,s2.c_str());
int j =0;

for(int i=0; i<s2.length(); i++)
{

if ((tstrInitial[i]>=0x4E00)&&(tstrInitial[i]<=0x9FA5))
{
tstrChinese[j] = tstrInitial[i] ;
tstrChinese[++j] = tstrInitial[++i]; //汉字

j++;
flag = true;
}
else
{
if (flag==true)
{
break;
}
else
{
;
}
}

}
tstrChinese;

}

}

分享到:
评论

相关推荐

    unicode编码表_txt文件

    unicode_编码表_txt文件 unicode_编码表_txt文件 unicode_编码表_txt文件 unicode_编码表_txt文件 unicode_编码表_txt文件

    TXT编码批量转换 V2.0编码UnicodeANSIUTF-8互转软件功能Unicode转ANSI转UTF-8互转软件.exe

    我们需要先把它们转换为Unicode格式,才能够在手机和MP3上面正常打开。如果有大量的文件,逐一打开另存为Unicode,那是很浪费时间的。这款txt文件编码批量转换器,可以使大家对大量文件进行一次批量转换编码,转换...

    TXT电子书批量转换中文Unicode编码

    TXT电子书批量转换中文Unicode编码,这是一个批量转换的好工具。 有一些人喜欢下电子书。而很多手机不支持直接看电脑上的txt文档,所以.....

    批量Ansi文本与Unicode文本转换工具

    HTML-&gt;TXT转换、文件合并、TXT文件段落合并、TXT文件分行、编码(GB/GBK/Big5/Shift-JIS/Unicode)转换(只能用于Win 2k/XP)、文本替换、HTML代码整理、文件切分、文本提取、正则表达式、TCR批量压缩/解压.

    从txt文件读取unicode字符

    MFC下从txt文件读取unicode字符

    unicode中文编码表.txt

    这个是Unicode的中文编码表,通过索引可以查找到任意一个中文对应的16进制或者10进制的一个唯一索引数字

    txt文件Unicode编码转换工具

    比较老的国产手机里电子书只支持Unicode编码,...遇到少量的TXT文件时用另存为修改编码就行,可是要是几十个几百个,一个一个修改就不现实,这个软件就是能将其他编码的转换成Unicode编码的,很好用,和大家分享一下。

    UNICODE汉字数据库.doc

    本文作为对unicode汉字数据库文件unihan.txt格式的分析和解读,列出并解释了文件中的常用属性,如kGB0(GB2312-80的区位码映射),kMandarin(unicode编码对应汉字的汉语拼音)。 Unihan.txt文件描述了每个unicode编码...

    中文转化为unicode格式的方法类

    中文转化为unicode格式的方法类,经过程序验证完全可使用。

    txt文件编码批量转换器 V2.1版

    转换器的使用方法很简单,只需把你要转换的txt文件放到任意一个文件夹里面,然后运行txt文件编码批量转换器,选择你要转换的编码,然后点击选择文件夹按钮,在弹出窗口中选择你放txt文件的那个文件夹,然后确定。...

    unicode 转换为 gb2312.txt

    可以直接在c语言中使用,数组左列为unicode,根据unicode的数值大小从小到大进行排序,右列为对应的GB2312编码,旁边有注释对应的汉字,亲测可以在单片机上使用,建议用二分法搜索unicode然后转换为GB2312。...

    dfm文件Unicode汉字转换器

    从Delphi7开始,窗体文件dfm里的汉字都变成了#28162#31992之类的形式,看起来非常不直观。 而且在delphi2009,delphi2010里,...因此,做了一个转换器,可以将Unicode数字表示的汉字#28162#31992转换为正确显示的汉字。

    excel 公式 自动转换unicode编码为汉字

    excel 公式 自动转换unicode编码为汉字

    dfm文件Unicode汉字转换器 V1.1

    从Delphi7开始,窗体文件dfm里的汉字都变成了#...因此,做了一个转换器,可以将Unicode数字表示的汉字#28162#31992转换为正确显示的汉字。 1.1版的改进,可以反向转换,即将含汉字的文件转换为#28382#33288之类的格式。

    sc_unicode.txt

    sc_unicode.txt

    WinXP修改非unicode语言所需要字体文件

    最全的改变“非Unicode程序的语言”时所需要的字体,dosapp.fon

    unicode文件的压缩包

    unicode文件,供大家测试读取和写入unicode文件

    Q701696 MFC在UNICODE环境下,如何读取UNICODE编码形式的TXT文件?

    MFC在UNICODE环境下,如何读取UNICODE编码形式的TXT文件? 详细请见 https://ask.csdn.net/questions/701696

    Unicode汉字编码表(全)

    Unicode汉字编码表,包含几乎完整的汉字编码,PDF格式。资源分想给0分的,可是没这个选项,只好选择最低的2分。

Global site tag (gtag.js) - Google Analytics