标题:文本处理的C++请教
只看楼主
chaw899
Rank: 2
等 级:禁止访问
帖 子:48
专家分:11
注 册:2018-11-29
结帖率:88.89%
已结贴  问题点数:10 回复次数:2 
文本处理的C++请教
如何把文本中汉字数量少于4个的包括4个的行删除掉。
也就是行要被保存下来的话,至少有5个汉字。

问的简单一点,如何获得纯文本某行的汉字个数?

[此贴子已经被作者于2019-6-30 20:25编辑过]

搜索更多相关主题的帖子: 文本 处理 C++ 汉字 某行 
2019-06-30 20:04
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
基本上没办法,C++中有 5 种字符串类型:
char a[] = "...";
wchar_t b[] = L"...";
char8_t c[] = u8"...";
char16_t d[] = u"...";
char32_t e[] = U"...";
对于char,其编码由实现定义。比如“中文windows”用的是gbk,但用户可以自己更改。
对于wchar_t,其编码由实现定义。比如windows用的是utf16,但很多unicode编码不支持。
即便你用 char8_t、char16_t、char32_t,那 unicode 标准也在不停的添加字符,况且unicode字符相近则共用,不区分国家。

而且你还是从“文本”中读取“汉字”。
“文本”的编码你知道吗?有BOM头还好说,但大部分是没有BOM头的。

所以我真怀疑你一定要“汉字”是不是有必要。
2019-07-01 08:51
lyb661
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:47
专家分:83
注 册:2018-12-12
得分:5 
应该先用一个字节有字符试一下,然后推广,这样有代表性。也普及值得普及。
2019-07-03 09:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495619-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.200219 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved