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;

                  }

              

  • 相关阅读:
    GCD 信号量使用记录
    使用AFNetWorking 上传文件/图片
    iOS 13 使用LaunchScreen.storyboard设置启动图注意事项
    clipsToBounds和masksToBounds的区别?
    react-native 单页面界面横屏(带导航栏的V5.0不支持,V4.0,V3.0支持)
    react-native 5.0导航栏配置
    使用SSZipArchive 注意事项
    iOS 相册照片heic (实况)
    react-native 集成Code-Push的常用命令
    Java基础知识学习02-运算符、循环语句、break、continue
  • 原文地址:https://www.cnblogs.com/xshang/p/2868729.html
Copyright © 2011-2022 走看看