asprintf()在不确定字符串的长度时,能够根据格式化的字符串长度,申请足够的内存空间,使用后需自行使用free释放内存。
#include "stdio.h"
#include "malloc.h"
void main(void)
{
char *path;
if (asprintf(&path, "/root" "/%s", "test") < 0)
{
printf("error\n");
return;
}
printf("%s\n",path);
free(path);
return;
}
参考
ChatGPT
在C语言中,`asprintf` 函数是一种动态分配内存并创建新的字符串的方式。它是标准 printf 函数族的一部分,但它并不是所有的C标准库的标准组成部分。尽管它在一些Unix-like系统中可用,比如Linux的glibc,但并非所有的系统标函数库都支持它。
asprintf 函数的原型通常如下:

订阅专栏 解锁全文

4731

被折叠的 条评论
为什么被折叠?



