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

查看:275
本文介绍了linux - 怎样将printf()函数打印出来的内容存在一个字符数组中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

解决方案

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;
}

这篇关于linux - 怎样将printf()函数打印出来的内容存在一个字符数组中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆