在UTF8(linux)下,逆置汉字字符串

Posted zzdoit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在UTF8(linux)下,逆置汉字字符串相关的知识,希望对你有一定的参考价值。

 #include <stdio.h>
   
   int main()
   {
           char c[]="我是如此热爱编程!";
           int index=0,min=0,max;
           while(c[index])
        {   
                index ++; 
        }   
        max = index -1; 
        while(max > min)
        {   
                char tmp = c[min];
                c[min]=c[max-2];
                c[max-2]=tmp;

                tmp = c[min+1];
                c[min+1]=c[max-1];
                c[max-1]=tmp;

                tmp = c[min+2];
                c[min+2]=c[max];
                c[max]=tmp;
                max -=3;
                min +=3;
        }   

        printf("%s\n",c);
        return 0;
}

运行结果:

[email protected]:~$ swop
!程编爱热此如是我

 在utf8模式下,一个汉字占用3个byte,在gbk下,一个汉字占用2个byte


以上是关于在UTF8(linux)下,逆置汉字字符串的主要内容,如果未能解决你的问题,请参考以下文章

mysql怎么汉字变 ??

linux 文字终端下输入汉字

vs2010 汉字utf8问题

VB如何把汉字和字母转换成utf8字符?

如何使用C语言将汉字转换成UTF8编码,如将“你好”转成:%E4%BD%A0%E5%A5%

易语言汉字转utf-8