如何用C\C++语言遍历中文字符

yangyira2 2007-04-26 10:24:54
大家好,我想问,如果用C\C++语言遍历中文字符串,
想遍历英文字符串一样:
char *p="abcdefgh";p++,用p可以遍历整个字符串。

用什么样的方法能实现对中文字符串的遍历呢?
如果用unicode,wchar类型或者CString 改怎样用 ?
请给点代码,最好有什么资料也行!万分感谢!!!
...全文
1200 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
msgsnd 2007-04-26
  • 打赏
  • 举报
回复
编码问题了。
jixingzhong 2007-04-26
  • 打赏
  • 举报
回复
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
//wchar_t str[]=L"这个是一个测试";
//char *p=(char *)str;
int i;
char *str="这是一个测试";

for(i=0; i<strlen(str); i+=2)
{
printf("%c%c ", str[i], str[i+1]); //每次输出两个 %c 即可
system("pause");
}
system("pause");
return 0;
}
chenyu2202863 2007-04-26
  • 打赏
  • 举报
回复
一个汉字相当于英文字母所占字节的两倍,比如你的char *ptr="你好";strlen(str)的值就为4
飞哥 2007-04-26
  • 打赏
  • 举报
回复
#include<iostream>
#include<string>
using namespace std;


void main()
{
char *s = "五一节快乐";
char *p =s;
for(int i = 0; i <strlen(s);i = i+2)
{
p = s+i;
cout <<p<<endl;
}
}
yangyira2 2007-04-26
  • 打赏
  • 举报
回复
如果我要在遍历的时候对中文字符进行比较呢?
如:比较str[i],str[i+1]是否是 "这"

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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