gpt4 book ai didi

c - 在 C 中将多个字符串分组为一个

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:19 24 4
gpt4 key购买 nike

我想从多个字符串创建一个“全名”变量。像这样:

strcpy (fullname, firstname);
strcat (fullname, separator); // separator is initialized at " "
strcat (fullname, middlename);
strcat (fullname, separator);
strcat (fullname, lastname);

此代码在我的项目中的多个位置重复出现。我本来打算做一个完全可以做到这一点的功能,但现在我想知道是否有更好的方法来做到这一点。

有什么想法吗?

最佳答案

您还可以:

sprintf (fullname, "%s%s%s%s%s", firstname, separator, middlename, separator, lastname);

但始终要确保 fullname 指向一个缓冲区,该缓冲区可以容纳您要连接的所有内容的总长度。

int size;
int *fullname;
size = strlen (firstname) + strlen (separator) + strlen (middlename) + strlen (separator) + strlen (lastname) + 1;

fullname = malloc (sizeof (char) * size);

sprintf (fullname, "%s%s%s%s%s", firstname, separator, middlename, separator, lastname);

/* Work */

free (fullname);

关于c - 在 C 中将多个字符串分组为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7138322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com