C语言怎么从字符串中取出中文字符?
char*str="你好123哈哈456";如何遍历这个字符串,一个字符一个字符的输出?如:你好123哈哈456...
char *str = "你好123哈哈456";
如何遍历这个字符串,一个字符一个字符的输出?如:
你
好
1
2
3
哈
哈
4
5
6 展开
如何遍历这个字符串,一个字符一个字符的输出?如:
你
好
1
2
3
哈
哈
4
5
6 展开
1个回答
展开全部
这个需要具体看编译器中汉字的编码情况,汉字编码是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;
}
#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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询