程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言入門知識 >> [C語言] 提取子字符串

[C語言] 提取子字符串

編輯:C語言入門知識
編寫一個函數,它從一個字符串中提取一個子字符串。函數原型如下:
int substr(char dst[], char src[],int start, int len)
{}
目標是:從 src 數組起始位置向後偏移 start個字符的位置開始,最多復制 
len 個非NUL字符到 dst數組。在復制完畢之後,dst 數組必須以NUL字節結尾。
函數的返回值是存儲於 dst 數組中的字符串的長度。
 
 
 
代碼實現:
 
#include <stdio.h>
#include <assert.h>
 
int substr(char dst[], char src[], int start, int len)
{
    assert(dst);
    assert(src);
    int ret = 0;
    while (start)
    {
        src++; 
        start--;
    }
    if (strlen(src) < len)
    {
        len = strlen(src);
    }
    ret = len;
    while (len)
    {
        *dst++ = *src++;
        len--;
    }
    *dst = '\0';
 
    return ret;
}
int main()
{
    char *p = "bit-tech";
    char arr[10];
    char array[10] = {0};
    int ret = substr(arr, p, 4,5);
    printf("%d\n", ret);
    printf("%s\n", arr);
    system("pause");
    return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved