怎样将printf()函数打印出来的内容存在一个字符数组中?

把打印出来的内容存在一个文件或字符数组中,用fprintf()一直错误

阅读 3.8k
1 个回答

1.下面的实例代码把动态内容存到了buf中,然后再把buf中的内容写到文件中即可。
2.除了使用sprintf还可以使用snprintf这是缓冲区安全的,sprintf有缓冲区溢出的风险。
3.具体手册可以在linux下使用man sprintf来查看。

#include <stdio.h>

int main()
{
    char buf[1024] = {0};
    char * name = "acb0y";
    char * addr = "guangdong";
    sprintf(buf, "name=%s,addr=%s", name, addr);
    
    printf("buf=[%s]\n", buf);
    return 0;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题