不是sql中的数据吧
你那个是单个文件吗?
假设文件头采用标准UCS2格式的两个字节,每个字段的数据是通过\t分隔的,每行文字是一条记录,如果有不同,需要对程序进行调整。
FILE *f = _wfopen(L"d:\\文件名.txt",L"rb");
if(f) // 打开文件成功
{
unsigned char hdr[2];
fread(hdr, 1, 2, f); // 读 UCS2 UNICODE 文本文件头2个字节
if(hdr[0]==0xff && hdr[1]==0xfe) // 是 UCS2 UNICODE 文本文件
{
wchar_t wsLine[1024];
std::vector fds;
while(fgetws(wsLine, 1024, f)) // 按行读取
{
fds.clear();
wchar_t *p,*s = wsLine;
for(p=s; *p; p++)
{
if(*p==L'\t')
{
*p = 0;
fds.push_back(s);
s = p+1;
}
else if(*p==L'\r' || *p==L'\n') // 行末
{
*p = 0;
fds.push_back(s);
s = p;
break;
}
}
if(*s) // 最后一行可能没有回车,这里判断一下
{
fds.push_back(s);
}
int nCount = fds.size(); // 这一行一共有的字段个数
for(int i=0; i
{
WideString ws = fds[i]; // 这一行的第 i 个字段的值
}
}
}
else
{
MessageBoxW(Handle, L"不是 UCS2 UNICODE 文本文件",L"读文件错误",MB_OK|MB_ICONSTOP);
}
fclose(f);
}
else
{
MessageBoxW(Handle, L"打开文件失败",L"读文件错误",MB_OK|MB_ICONSTOP);
}
---------------找别人的
看以下能帮到你不?
GB18030-2000的字汇部分是这样写的:
本标准收录的字符分别以单字节、双字节和四字节编码。
5.1 单字节部分
本标准中,单字节的部分收录了GB 11383的0x00到0x7F全部128个字符及单字节编码的欧元符号。
5.2 双字节部分
本标准中,双字节的部分收录内容如下:
GB 13000.1的全部CJK统一汉字字符。
GB 13000.1的CJK兼容区挑选出来的21个汉字。
GB 13000.1中收录而GB 2312未收录的我国台湾地区使用的图形字符139个。
GB 13000.1收录的其它字符31个。
GB 2312中的非汉字符号。
GB 12345 的竖排标点符号19个。
GB 2312未收录的10个小写罗马数字。
GB 2312未收录的带音调的汉语拼音字母5个以及ɑ 和ɡ 。
汉字数字“〇”。
表意文字描述符13个。
增补汉字和部首/构件80个。
双字节编码的欧元符号。
5.3 四字节部分
本标准的四字节的部分,收录了上述双字节字符之外的,包括CJK统一汉字扩充A在内的GB 13000.1 中的全部字符。
-------------别人的