C++读书笔记—使用指针技术实现内存块数据的移动

/***************************************
使用指针技术实现内存块数据的移动:要求从键盘输入一个字符存放到某个内存空间中,然后把输入的字符串
最后一个字符调整到字符首部,其他字符以此向后移输出。比如输入“asdfgh”,输出"hasdfg"
实现方法:
(1)定义指针,分配内存空间
(2)输出字符串到指定的空间
(3)处理字符串
(4)输出字符串
(5)释放分配的内存空间
****************************************/
#include <iostream>
#include <cstring>
using namespace std;


int main()
{
   char tmp;
   int n;
   char *p = new char[20];
   if(NULL == p)
   {
  cout << "new memory is not ok" << endl;
   }
   
   cout << "please input string: " <<endl;
   cin >>p;
   
   n = strlen(p);
   cout << "strlen(p): " << n <<endl;
   for(int i = n-1;i >= 0;i--)
   {
  *(p+i+1) = *(p+i);
  if(i == 0)
  {
  *(p+i) = *(p+n);
  *(p+n) = '\0';
  }
   }
   
   cout << "string: " << p << endl;
   
   if(p != NULL)
   {
  delete [] p;
   }
   return 0;

}

输出:

please input string: 
asdfgh
strlen(p): 6
string: hasdfg

猜你喜欢

转载自blog.csdn.net/xiaonan153/article/details/80789070
今日推荐