zoukankan      html  css  js  c++  java
  • 面试题 把字符串中的\t转换为4 的空格

                从C++奋斗乐园上看到的题目,也想试着编程来学习。网址:http://www.cppleyuan.com/viewthread.php?tid=8055&extra=page%3D1

                首先,说一下自己的体会,这题有不同的解决方法,让我更好的对C++字符串的理解,以及指针的了解和内存分配。

                 下面是源码,已通过经过测试:       

                  #include <iostream>

                  #include <string>

                  #include <cstdlib>

                   using namespace std;

                  char * convert(char *strDest,char *strStr,int length)

               {  

                  int i=0;  

                  char *cp=strDest;  //这一步也特别重要,用一个指针来指向strDest,不然如果用strDest参与运算,因为每赋值一次strdest都指向了下一个位置。最后strDest指向的就不是字符串的首地址了。

                   while(((*strStr)!='\0')&&(i<length))

                   {   if(*strStr=='\t')  

                       {   

                             for(int j=0;j<4;j++)  

                             {     *cp=' ';    

                                     cp++;

                              }  

                        }  

                         else   

                        {   

                              *cp++=*strStr;  

                         }      

                        i++;   

                       strStr++;

                  }

                 *cp='\0';

                   return strDest;  

              }

             int main()

                 {  

                    char *strSour="he\tllo";  

                    char *strDest;   

                    strDest=(char *)malloc(sizeof(char)*100); //这一步特别重要因为前面仅仅定义一个指针变量,但并没有分配存储空间。

                     int length=strlen(strSour);  

                     cout<<convert(strDest,strSour,length)<<endl;  

                     return 0;

                  }

              

  • 相关阅读:
    分区助手怎么调整磁盘分区的大小
    3dsmax2014的下载、安装与注册激活教程详解
    U深度U盘启动盘制作工具怎么用?U深度U盘启动盘制作工具使用教学
    CAD出现向程序发送命令时出现问题提示解决方法分享
    TeamViewer——可以实现在手机上随时远程控制你的电脑
    CPU-Z五大主要功能及使用方法初步了解
    vs中更改项目名称注意事项
    Oracle 存储过程例子返回记录集
    oracle 调用包体的函数并返回return值
    oracle 中更新update不成功的原因
  • 原文地址:https://www.cnblogs.com/xshang/p/2868729.html
Copyright © 2011-2022 走看看