C语言怎么从字符串中取出中文字符?

char *str = "你好123哈哈456";
如何遍历这个字符串,一个字符一个字符的输出?如:


1
2
3


4
5
6

这个需要具体看编译器中汉字的编码情况,汉字编码是2至4个字节,我是手机编译器,汉字编码是3个字节,参考代码如下:
#include<stdio.h>
char *str = "你好123哈哈456";
int main()
{
int i;
for(i=0;str[i]!=0;++i)
if(str[i]>127){
printf("%c%c%c\n",str[i],str[i+1],str[i+2]);
i+=3-1;
}
else printf("%c\n",str[i]);
return 0;
}追答

追问

我是在电脑上用的,把代码改了一下,可以用了,谢谢

温馨提示:答案为网友推荐,仅供参考
相似回答