C 中将一个字符串包含到另一个字符串中

发布于 2025-01-03 02:10:12 字数 175 浏览 0 评论 0原文

如何在 C 中将一个字符串“包含”到另一个字符串中?

这是一个例子:

string1 = "www.google";
string2 = "http://"+string1+".com";

我在使用 strcat() 时遇到困难。

谢谢

How do I "include" a string into another string in C ?

Here is an example :

string1 = "www.google";
string2 = "http://"+string1+".com";

I'm having difficulties with strcat().

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流殇 2025-01-10 02:10:12

您可以使用 snprintf 及其功能来返回所需的大小(如果有可用空间):

const char *string1 = "www.google";
char *string2;
size_t length;

length = snprintf(NULL, 0, "http://%s.com", string1);
if (length < 0) {
    // Handle error.
} else {
    string2 = malloc(length + 1);
    snprintf(string2, length + 1, "http://%s.com", string1);
}

略有不同的变体,可避免两次使用格式字符串:

const char *string1 = "www.google";
const char *format = "http://%s.com";
char *string2;
size_t length;

length = snprintf(NULL, 0, format, string1);
if (length < 0) {
    // Handle error.
} else {
    string2 = malloc(length + 1);
    snprintf(string2, length + 1, format, string1);
}

You can use snprintf and its feature to return the size it would need if it had the space available:

const char *string1 = "www.google";
char *string2;
size_t length;

length = snprintf(NULL, 0, "http://%s.com", string1);
if (length < 0) {
    // Handle error.
} else {
    string2 = malloc(length + 1);
    snprintf(string2, length + 1, "http://%s.com", string1);
}

Slightly different variant which avoids having the format string two times:

const char *string1 = "www.google";
const char *format = "http://%s.com";
char *string2;
size_t length;

length = snprintf(NULL, 0, format, string1);
if (length < 0) {
    // Handle error.
} else {
    string2 = malloc(length + 1);
    snprintf(string2, length + 1, format, string1);
}
青春有你 2025-01-10 02:10:12

我在使用 strcat() 时遇到困难

,然后尝试 sprintf:

char str[] = "www.google";
char dest[100];

snprintf(dest, sizeof(dest), "http://%s.com", str);

7.19.6.5-3

snprintf 函数返回将有的字符数
已写的 n 足够大,不包括
终止空字符。

I'm having difficulties with strcat()

Then try sprintf:

char str[] = "www.google";
char dest[100];

snprintf(dest, sizeof(dest), "http://%s.com", str);

7.19.6.5-3

The snprintf function returns the number of characters that would have
been written had n been sufficiently large, not counting the
terminating null character.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文