gpt4 book ai didi

c - C语言中将字符转换为字符串的API

转载 作者:行者123 更新时间:2023-11-30 21:10:07 27 4
gpt4 key购买 nike

C 语言中是否有将字符转换为字符串的 API?

我基本上有一个字符串,想在它的末尾插入一个字符。说,

char str[] = "hello";

我希望它看起来像“hello1”;

我正在寻找一个方便的 API,而不是像这样复杂的东西

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

int main(void)
{
char str[] = "hello";
int len = strlen(str);

/*assume this is the character I want to add at the end */
str[len] = '1';
str[len+1] = NULL;


printf("%s",str);

return 0;
}

最佳答案

char str[] = "hello";

str 是一个由六个字符组成的数组:'h''e''l''l''l''o''\0'。当您执行 str[strlen(str)] = '1' 时,您会覆盖终止 NUL 字符(这与 NULL 指针不同) )。当您执行 str[strlen(str) + 1] = '\0' 时,您的写入超出了数组的末尾。

即使使用可变长度数组,一旦分配了存储空间,您也无法调整数组的大小。

您可以做的是为字符串分配额外的空间,如下所示:

char str[ 7 ] = "hello";
size_t len = strlen(str);
str[ len ] = '1';
str[ len + 1 ] = '\0';

关于c - C语言中将字符转换为字符串的API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31737795/

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