• 字符串操作


    字符串是面试的重点考察部分的相关知识,通过考察字符串的相关知识可以考察程序员的编程规范以及编程习惯。

    一般的字符串库函数包括有: itoa():整型转换为字符串; ltoa():将长整形转换为字符串; ultoa():将无符号长整型转化为字符串;gcvt(): 将浮点型转换为字符串,取四舍五入; ecvt():将双精度浮点型转换为字符串;以及sprintf()系列函数,但sprintf函数的运行速度比以上函数慢。

    1. 整形与字符串的转化。

     1void itoa(int SrcNum, char *DestStr) //原函数要复杂很多
     2{
     3    int i=0, j=0;
     4    char tmpstr;
     5    int tmpnum = (SrcNum > 0? StrNum : -StrNum;
     6    if(DestStr==NULL)
     7        return;
     8    while(tmpnum!=0)
     9    {
    10        DestStr[i++= StrNum%10 + '0';
    11        StrNum = StrNum/10;
    12    }

    13    if(tmpnum < 0)
    14        DestStr[i++= '-';
    15    DestStr[i] = '\0';
    16    i--;
    17    while(i!=j)
    18    {
    19        tmpstr = DestStr[i];
    20        DestStr[i] = DestStr[j];
    21        DestStr[j] = tmpstr;
    22        i++;
    23        j++;
    24    }

    25}

    2. 字符串转换为整型

     1int strtoint(const char *SrcStr)
     2{
     3    int tmpnum = 0;
     4    const char *tmpstr = SrcStr;
     5    if(StcStr==NULL)
     6        return;
     7    if(*SrcStr=='-')
     8        tmpstr++;
     9    while(*tmpstr!='\0')
    10    {
    11        if(*tmpstr<'0' || *tmpstr>'9')
    12            return;
    13        tmpnum = tmpnum*10 + (*tmpstr - '0');
    14        tmpstr++;
    15    }

    16    if(*SrcStr=='-')
    17        tmpnum = -tmpnum;
    18    return tmpnum;
    19}

     

  • 相关阅读:
    FFT加速多项式乘法C语言版(基2FFT)
    springboot2中@ConfigurationProperties装载yml文件的时候调取出现值为null的解决办法
    LeetCode27-移除元素
    dom4j在解析xml文件的时候将" "解析成空格的解决办法
    LeetCode17- 电话号码的字母组合
    LeetCode19- 删除链表的倒数第N个节点
    LeetCode14- 最长公共前缀
    LeetCode20- 有效的括号
    LeetCode21- 合并两个有序链表
    MySQL单表百万数据记录分页性能优化
  • 原文地址:https://www.cnblogs.com/scnutiger/p/1590184.html
Copyright © 2020-2023  润新知