zoukankan      html  css  js  c++  java
  • atoi、itoa,strcpy,strcmp,memcpy等实现

    原文:http://www.cnblogs.com/lpshou/archive/2012/06/05/2536799.html

    1、memcpy、memmove、memset源码
    2、strcpy、strcat等源码
    3、atoi和itoa源码:

    整数字符串的转化

    1、直接采用现有函数

    (1)直接采用itoa实现整数到字符串的转换

      函数形式为: char *itoa(int value, char *string, int radix);

      该函数包含在头文件stdlib.h中。int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。

      具体实现为:

    View Code

    (2)直接采用atoi实现字符串到整数的转换

      函数形式为: int atoi(const char *nptr);

        函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,返回整型数。
      具体实现为:
    View Code

    2、不采用现有的itoa和atoi函数

    (1)整数到字符串的转换

      具体实现为:

    View Code

    (2)字符串到整数的转换

      具体实现为:

    View Code


    14、2 字符数组和strcpy

    (1)面试题1

      strcpy字符串拷贝函数的实现

      strcpy的原型为:char*strcpy(char *strDest,const char *strSrc)

      具体实现为:

    View Code

    (2)面试题3

      编写一个函数,把一个char组成的字符串循环右移n位

      具体实现为:

      方法1:自己实现的

    View Code

      方法2:利用strcpy函数

    View Code

    14、5 字符串与子串的若干问题

    (1)求一个字符串中连续出现次数最多的子串

    View Code

    (2)输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置。例如“yyabcdabjcabceg”,输出结果应该为abc和3.

    View Code

     (3)写一个函数来模拟C++中的strstr()函数:该函数的返回值是主串中字符子串的位置以后的所有字符。不适用任何C程序已有的函数来完成。

    View Code

    (4)实现一个函数将一句话里的单词进行倒置,标点符号不倒换。比如一句话“i come from wuhan.“倒置后变成"wuhan. from come i"。

    View Code

    (5)写一个函数,计算4 000 000 000以内的最大的那个f(n)=n的值,函数f的功能是统计所有0到n之间所有含有数字1的数字和。

      比如f(13)=6

      因为1在1,2,3,4,5,6,7,8,9,10,11,12,13中的总数是6(1,11,12,13)

    (6)转换字符串格式为原来字符串的字符+该字符出现的个数,例如字符串1233422222,转化为1121324125.

      主要收获是sprintf函数的使用:http://baike.baidu.com/view/1295144.htm

    View Code
  • 相关阅读:
    Common ThreadView
    经典代码IOCP的C#实现(转)
    Common.UdpLib
    Common.TcpLibTcpServerWIOCP
    Common.TcpLibTcpServerY
    sql中将分隔字符串转为临时表的方法
    病毒及流氓软件自我复制的简单实现
    一句sql搞定个人所得税计算
    财务月度的创建及生成
    box2d 教程
  • 原文地址:https://www.cnblogs.com/lizhigang/p/7199723.html
Copyright © 2011-2022 走看看