VC++中有关字符串处理的问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 14:05:12
假如有一句话“教师里有10个人。”我想在字符串中把每个汉字拆分出来,如果其中有英文字母又整么办?请高人们帮忙解答!!如果有示例代码,高分伺候!!!

#include <iostream>
using namespace std;

int main()
{
char *s = "教师里有10个人。";
for (size_t i = 0; i < strlen(s); i++)
{
if (s[i] < 0) {
putchar(s[i]);
putchar(s[i + 1]);
putchar('\n');
i++;
}
else {
putchar(s[i]);
putchar('\n');
}
}
}

这个要用到宽字符啦,像上面那有用一个char*指针是不行的。
具体可以参考一下Unicode编码,汉字有GBK编码和UTF之类的格式,具体还是楼主去搜索一下资料吧

其实很简单,在字符串中逐字节判断,当字节值小于0x80时说明是ASCII字符,反之则是汉字。

PS:至于代码就不给你写了,你现在总分才2分,哪里来的“高分伺候”,很明显的欺骗嫌疑!