在C函数中,获取字符指针并向其添加字符
我试图思考如何编写一个函数,获取char*并返回指向同一个char的指针,但在其末尾添加了几个常量字符在C函数中,获取字符指针并向其添加字符,c,char,C,Char,我试图思考如何编写一个函数,获取char*并返回指向同一个char的指针,但在其末尾添加了几个常量字符 char* addExtension(char* FileName) { } 我认为,这正是标准库函数(用于“字符串连接”)所做的。你应该考虑使用它 还要注意缓冲区溢出的危险,像这样的函数(以及类似的strcat())本质上是不安全的,因为它不包含有关可用空间的信息。你真的无法做到这一点,无论如何也不能使用任意字符串。 字符串可以是: 常量(如字面上的“hello world”)。那些是
char* addExtension(char* FileName)
{
}
我认为,这正是标准库函数(用于“字符串连接”)所做的。你应该考虑使用它
还要注意缓冲区溢出的危险,像这样的函数(以及类似的strcat())本质上是不安全的,因为它不包含有关可用空间的信息。你真的无法做到这一点,无论如何也不能使用任意字符串。 字符串可以是:
- 常量(如字面上的“hello world”)。那些是不能修改的
- Char数组(如Char thingie[10])。他们已经确定了一定的空间-如果你
用完后,您会遇到非常友好的
或更糟的情况分段错误
'd指针-它们也有固定的空间量,并且需要malloc
d自由
char *copycat(char *first, char *second) {
char *result = malloc(strlen(first)+strlen(second)+1);
strcpy(result, first);
strcpy(result+strlen(first), second);
return result;
}
+1对于幽默感@H2CO3