zoukankan      html  css  js  c++  java
  • 两个字符串操作函数. Anthony

    /*!brief 复制字符串的后一部分

    编写函数strmcpy(s,t,m),将字符串从第m个字符开始的全部字符复制到字串s中去。n
    难度系数:简单
    param [in] source 源字符串.只读
    param [in] dest 目的字符串
    param [in] nStart 从第nStart个字符开始复制
    bug
    -# 未考虑strlen(source) < nStart的情况.(出错)
    -# 未考虑dest[]空间不足的情况.(出错)
    -# 未考虑source不以'/0'结尾的情况.(出错)
    .

    pre source is zero ending && strlen(source) > nStart && sizeof(dest) > sizeof(source)
    post dest is zero ending   && strcmp(dest, source + nStart) == 0
    */
    void LeftSubStr(char *source, char * dest, int nStart)
    {
      char *p = source + nStart;
      char *q = dest;
      while (*q++ = *p++);
    }

    //4.编写函数,输入一个字符串,内有数字和非数字字符,将其连续的数字作为一个整数,依次存放到数组A中,并统计有多少个整数。

    //不使用库的话:
    int isdigit(int c)
    {
    return !(c < '0' || c >'9');
    }

    int atoi(char* str)
    {
    char *p = str;
    int sum = *p - '0';
    while( isdigit(*++p))
    {
    sum = sum * 10 + (*p - '0');
    }

    return sum;
    }


    int findDigital(char* str, int buf[], int nLen)
    {
    char *p = str;
    int i;
    for (i = 0; i< nLen && *p; i++)
    {
    while(*p && !isdigit(*++p));
    buf[i] = atoi(p);
    while(isdigit(*++p));
    }
    return i;
    }

    #include <stdio.h>

    int main ()
    {
      int a[10];
    int len = findDigital("-11,2", a, 10);
    printf("%d 个, %d, %d", len, a[0], a[1]);
    return 0;
    }

  • 相关阅读:
    2018-8-18 训练神经网络笔记
    ffmpeg解码视频为图片和将图片合成一个MP4视频
    minikube start error
    按顺序将目录下的所有文件的绝对路径写入文件中
    ssh远程免密登录
    Ubuntu默认的awk一直报语法错误
    ffmpeg常用操作
    ssh免密登录server
    cv::namedWindow是非线程安全的
    lingcrypt源码安装undefined reference to ...
  • 原文地址:https://www.cnblogs.com/ahuangliang/p/5309285.html
Copyright © 2011-2022 走看看