[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;
}