c - sprintf 在哪里存储它的输出?

标签 c printf

如果我有以下代码,sprintf 中的句子存储在哪里?

它是存储在 malloc 提供的 100 字节中还是存储在其他地方并且 store 指针现在指向新位置?

char *store = malloc(100); 
int num = 77;
sprintf(store, "the number was: %d", num);

最佳答案

sprintf 不会自行分配内存 - 它只是将其输入存储在先前分配的缓冲区中。在您的情况下,这确实是您使用 malloc 调用分配的缓冲区。

关于c - sprintf 在哪里存储它的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25348671/

相关文章:

c++ - 如何在 ofn.lpstrFilter 中以数字开头的文件格式名称?开头不允许写3?

c - 使用 sprintf 的读写系统调用

c++ - 设置精度和裁剪尾随零但从不打印指数

shell - 使用 shell 将字节插入文件

c - 如何在 C 中使用逗号作为千位分隔符来格式化数字?

c - 基本 C 指针语法

c - 结构C的矩阵

c - 如何重新分配函数指针数组?

c - 函数返回值没有返回语句

c - 为什么我的代码之间的打印为零?