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

时间:2023-03-09 02:31:43
在UTF8(linux)下,逆置汉字字符串
 #include <stdio.h>

   int main()
{
char c[]="我是如此热爱编程!";
int index=,min=,max;
while(c[index])
{
index ++;
}
max = index -;
while(max > min)
{
char tmp = c[min];
c[min]=c[max-];
c[max-]=tmp; tmp = c[min+];
c[min+]=c[max-];
c[max-]=tmp; tmp = c[min+];
c[min+]=c[max];
c[max]=tmp;
max -=;
min +=;
} printf("%s\n",c);
return ;
}

运行结果:

abc@ubuntu:~$ swop
!程编爱热此如是我

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