怎样检测标点,不论是全角还是半角

gl615 2009-12-14 12:06:12
ispunct只能识别单字符的半角。
...全文
163 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gl615 2009-12-14
  • 打赏
  • 举报
回复
我自己弄好了,还是用ispunct。
全角双字符标点--> 0x3a,对应半角+128
直接把全角拆开判断半角就行了。
jiuchang 2009-12-14
  • 打赏
  • 举报
回复
先转码成utf8或unicode,这样就不需要再从头开始判断,标点符号的值也是固定的,可以直接查找
cattycat 2009-12-14
  • 打赏
  • 举报
回复
if(a[i]<0||a[i]>0x80) 
a[i]和a[i+1]是一个全角或中文字符,需要合在一起处理
DLevel 2009-12-14
  • 打赏
  • 举报
回复
全角是双字节汉字,楼主这帖子标题应该改为,怎么区分中文应为。这个问题么。就简单点了。用char保存比如
char a[]="abc,我是菜鸟,.。。";
int i=0
while(1)
{
if(a[i]<0||a[i]>0x7f) //双字节中,开头如果不在0到7F就证明不是asc,那么就又可能是你说的全角
if((a[i] ==0x8A)&&a[i+1]=0x72)//假设 为0x8a72为全角的,.
}

就是这么个道理吧,具体你搜索csdn吧,帖子好多
cyrus_zhou 2009-12-14
  • 打赏
  • 举报
回复
iswpunct,这个行不?
tan625747 2009-12-14
  • 打赏
  • 举报
回复
帮顶
gl615 2009-12-14
  • 打赏
  • 举报
回复
ding
文本整理器是一款针对中文文章格式而设计的文本编辑软件。对一篇格式不规范的文章,只需点击几个按钮,就可把它整理成规范格式。它提供了大量实用的整理工具,可满足各种不同的整理要求,使你从繁琐的修改工作中摆脱出来。它提供的批量整理功能,可以使你在几分钟内整理上百篇文本,再不用为手上的大量不规范的文本发愁了。   主要功能简介   ⑴编辑功能:      编辑功能类似于记事本,可直接编辑各种纯文本文件,如:.txt、.htm、.ini等。   ⑵对空格的整理:      去除所有空格:包括半角空格、全角空格、Tab符;      去除段落首尾空格:用于文字中有英文句子的情况,不至于把有用的空格也去掉;   ⑶对段落的整理:      段首缩进:利用在段前加入空格的方式实现缩进,缩进的空格可以是全角空格、半角空格或Tab符;       去除段落间空行:使段落紧密排列;      合并空行:可把多个空行合并为一个, 用于去除多余的空行;      只空一行:在没有空行的段落后加入一个空行,有多个空行的段落只保留一个空行,以保证各段落间都只空一行。      合并段落:把几个段落合并为一个,并去除段落间的空格。      合并行:把以硬回车换行的行合并为一段。      段间加空行:在段落后添加一个空行,不论它原来是否有空行。   ⑷对标点符号的整理:      对常用标点符号进行半角-全角转换,包括逗号、分号、冒号、引号等多种标点。   ⑸文字的繁体、简体转换,GB码与BIG5码的转换。   ⑹其它:包括修正局部乱码、数字字母的大小写和全半角转换、Htm与Txt的转换、字数统计、查看二进制文本、整理C源代码、修改文件扩展名等。   特色功能:   ⑴多窗口编辑:      可同时打开四个文档,并排排列在窗口中,便于进行对照编辑。   ⑵自动整理:      可以把几项整理功能设定为整理方案,按方案设定内容一次整理到位,适合于整理多个格式相似整理结果也要求相似的文档。简化了整理过程。   ⑶批量整理:      用设定的整理方案对磁盘上的多篇文档成批整理。省事又快捷。特别适合于整理网络小说之类的文档。   ⑷文件合并:      把磁盘上选择的文件合并为一个文件。   ⑸插入功能:      提供了四个插入文本框,相当于四个可视化剪贴板,而且多样化的插入方式使它比剪贴板更好用。   ⑹查找功能:      除了普通的查找/替换功能外,利用替换表可以实现多组关键字的查找/替换,利用界限查找可以实现指定边界的查找/替换。   ⑺特殊符号的快速输入:      提供了标点符号、数字序号、特殊符号、希腊字母等九张符号表,可以实现特殊符号的快速输入。   使用说明:如果需要使用“替换表”功能,运行“绿化.bat”注册相关控件即可。

64,687

社区成员

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

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