C++实现回文

本文介绍了一个简单的C++类实现,该类能够实现字符串的反转功能。通过构造函数初始化空字符缓冲区,在成员函数中实现字符串读取、反转及释放内存等操作。最后通过一个测试程序演示了类的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*.h文件

#ifndef _HWCHANGE_H
#define _HWCHANGE_H


#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define MAX_SIZE 256


class CHuChange
{
     public:
         CHuChange();
         virtual ~CHuChange();
         bool change(char *str);
 
         char* get_info();
 
         void relese();
     public:
        char* Buf;
 };
 
#endif

 

*.cpp文件

 

#include "hu_change.h"
 
CHuChange::CHuChange()
{
     Buf = NULL;
}
 
CHuChange::~CHuChange()
{
     if (Buf != NULL)
      {
  //      free(Buf);
 //      Buf = NULL;
      }
}
 
void CHuChange::relese()
{
     if (Buf != NULL)
     {
       free(Buf);
        Buf = NULL;
    }
}

bool CHuChange::change(char* str)
{
     if (NULL == str)
     {
         perror("str is null");
         return false;
     }
 
     int     len = strlen(str);
     Buf = (char*)malloc(sizeof(char) * (len + 1));
 
     char*   buf1 = Buf;
     while(*str != '/0')
     {
         *buf1++ = *str++;
     }
 
    *str--;
 
     for(int i = 0; i<len; i++)
     {
         *buf1++ = *str--;
     }
 
     *buf1 = '/0';


      return true;
 }
 
char* CHuChange::get_info()
{
    return Buf;
}

 

测试代码

#include <stdio.h>
#include "hu_change.h"
 
int main()
 {
     printf("please input a string:/n");
 
     char str[MAX_SIZE] = {0};
     scanf("%s",&str);
 
     CHuChange c_hu_change;
     c_hu_change.change(str);
     char* buf = c_hu_change.get_info();
 
     printf("the hu_change string is %s/n",buf);
 
     c_hu_change.relese();
 
     return 0;
}

 

有问题的话 欢迎指教 O(∩_∩)O~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值