问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C语言字符串拼接的三种方法

创作时间:
作者:
@小白创作中心

C语言字符串拼接的三种方法

引用
1
来源
1.
https://docs.pingcode.com/baike/1029712

在C语言中,拼接字符串是一个常见的操作。本文将介绍三种拼接字符串的方法:使用标准库函数strcat、使用strncat以及手动拼接。

一、使用标准库函数strcat

strcat函数是C语言中最常用的字符串拼接函数。它将src字符串拼接到dest字符串的末尾,并返回dest字符串的指针。

#include <stdio.h>
#include <string.h>

int main() {
    char str1[100] = "Hello, ";
    char str2[] = "world!";
    strcat(str1, str2);
    printf("%s\n", str1); // Output: Hello, world!
    return 0;
}

函数原型及其使用

char *strcat(char *dest, const char *src);

strcat函数的第一个参数是目标字符串,第二个参数是源字符串。strcat函数会将源字符串的内容追加到目标字符串的末尾。需要注意的是,目标字符串必须有足够的空间容纳源字符串。

二、使用strncat

strncat函数是strcat的变种,它允许我们指定要拼接的字符数。这在需要拼接部分字符串时非常有用。

#include <stdio.h>
#include <string.h>

int main() {
    char str1[100] = "Hello, ";
    char str2[] = "beautiful world!";
    strncat(str1, str2, 9); // Only concatenate first 9 characters of str2
    printf("%s\n", str1); // Output: Hello, beautiful
    return 0;
}

函数原型及其使用

char *strncat(char *dest, const char *src, size_t n);

strncat函数的第一个参数是目标字符串,第二个参数是源字符串,第三个参数是要拼接的字符数。与strcat类似,目标字符串必须有足够的空间。

三、手动拼接字符串

有时我们可能不希望依赖库函数,此时可以手动拼接字符串。

#include <stdio.h>

void my_strcat(char *dest, const char *src) {
    while (*dest) {
        dest++;
    }
    while (*src) {
        *dest = *src;
        dest++;
        src++;
    }
    *dest = '\0';
}

int main() {
    char str1[100] = "Hello, ";
    char str2[] = "world!";
    my_strcat(str1, str2);
    printf("%s\n", str1); // Output: Hello, world!
    return 0;
}

手动拼接字符串的过程是:首先找到目标字符串的末尾,然后逐个复制源字符串的字符到目标字符串,最后添加字符串结束符\0

通过以上三种方法,我们可以根据实际需求选择合适的方式来拼接字符串。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号