1. 程式人生 > 其它 >bilibiliclass51_C語言_strncat 指定個數的字串追加-函式詳解

bilibiliclass51_C語言_strncat 指定個數的字串追加-函式詳解

技術標籤:C語言_嗶哩嗶哩課堂筆記

strncat
指定個數的字串追加

庫函式內的宣告
char * strncat ( char * destination, const char * source, size_t num );


簡單例子

#include <stdio.h>
#include <string.h>
int main ()
{
char arr1[20]="hello\0xxxxxxx";
char arr2[]="world";
strncat(arr1,arr2,8);
printf("%s",arr1);
return 0;
}
//記憶體:helloworld\0xx
//結果:helloworld

使用:
1.自動追加\0
2.如果num>源字串,則追加完後就補\0,之後不變
my_strncat實現方法

#include <stdio.h>
#include<assert.h>
char* my_strncat(char* dest, const char* source,int num)
{
    assert(dest != NULL);
    assert(source != NULL);
    char* ret = dest;

    while (*dest != '\0')
    {
        dest++;
    }
    while (num && (*dest++ = *source++))
    {
        num--;
    }
    return ret;
}

int main()
{
    char arr1[20] = "hello\0xxxxxxx";
    char arr2[] = "world";
    my_strncat(arr1, arr2, 8);
    printf("%s", arr1);
    return 0;
}