1. 实现含有中文字符的字符串逆转,如: “我是小萌新” 转换成“新萌小是我”(指针项目练习1)

简介: 1. 实现含有中文字符的字符串逆转,如: “我是小萌新” 转换成“新萌小是我”(指针项目练习1)

1. 实现含有中文字符的字符串逆转,如: “我是小萌新” 转换成“新萌小是我”

#include <iostream>
#include <Windows.h>
#include <string.h>
using namespace std;
void reverse(unsigned char *a)
{
  unsigned char *p1=a;
  unsigned char tmp[1024];
  unsigned char *p2;
  unsigned int len=strlen((char *)a);
  p2=len+tmp;//传的是地址,等式左边不能是指针(p2连接两个tmp+len的地址,所有说改变p2的值的话,tmp的值会跟着改变)
  *p2--='\0';
  while(*p1)
  {
    if(*p1<0x80) //代表一个字符
    {
      *p2--=*p1++;
    }else //代表中文字符
    {
      *(p2-1)=*p1++;
      *p2=*p1++;
      p2=p2-2;
    }   
  }
  for(int i=0;i<len;i++)
  {
    a[i]=tmp[i];
  }
}
int main(void)
{
  unsigned char str[1024];
  cout<<"请输入你要转换的字符:";
  cin>>str;
  reverse(str);
  cout<<"转换的结果为:"<<str<<endl;
  system("pause");
  return 0;
}


相关文章
C4.
|
2月前
|
存储 程序员 C语言
C语言中如何通过指针引用字符串
C语言中如何通过指针引用字符串
C4.
16 0
|
2月前
C进阶:指针的练习(1)
C进阶:指针的练习(1)
|
7月前
|
C++
关于指针,你不可以错过的练习(c/c++)
关于指针,你不可以错过的练习(c/c++)
47 0
项目中常见NPE空指针异常
项目中常见NPE空指针异常
|
7月前
|
C语言
C语言之字符串的连接使用指针和调用函数两种方法
C语言之字符串的连接使用指针和调用函数两种方法
206 0
|
3月前
|
存储 搜索推荐
【C/PTA】指针专项练习(二)
【C/PTA】指针专项练习(二)
55 0
|
3月前
【C/PTA】指针专项练习(一)
【C/PTA】指针专项练习(一)
38 0
|
9月前
|
C语言 C++
【C语言进阶】 指针强化练习(二)
【C语言进阶】 指针强化练习(二)
35 0
|
4月前
利用两个指针的差值求字符串长度
利用两个指针的差值求字符串长度
19 0
|
5月前
|
人工智能 编译器 C语言
C语言:指针详解【图解 + 练习】
C语言:指针详解【图解 + 练习】