首页 > 其他分享 >C语言snprintf追加拼接字符串

C语言snprintf追加拼接字符串

时间:2023-06-28 10:11:21浏览次数:57  
标签:snprintf BUF len C语言 拼接 MAX include buf

原文地址:https://www.cnblogs.com/liqinglucky/p/snprintf.html

在使用log函数打印时想打印整个结构体的值出来,但是结构体比较大,如果用log函数一行一行打印显示效果不好。就想用snprintf追加拼接字符串到一个buffer里,最后再把整个buffer打印出来。这样可以方便的调整buffer里的内容显示格式。

代码

#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
#include <time.h>
#include <errno.h>
#include <arpa/inet.h>
#include <stdlib.h>

void structure_print(void)
{
    const int MAX_BUF = 65535;
    char* buf = malloc(MAX_BUF);
    int len = 0;

    len += snprintf(buf+len, MAX_BUF-len, "ipv4 : %s\n","172.1.10.1");
    len += snprintf(buf+len, MAX_BUF-len, "ipv6 : %s\n","172:1:10::1"); 

    printf("%s\n", buf);
    free(buf);
}

int main(void)
{
    structure_print();
    return 0;
}

参考

如何使用sprintf追加字符串? | 那些遇到过的问题 (1r1g.com)

标签:snprintf,BUF,len,C语言,拼接,MAX,include,buf
From: https://www.cnblogs.com/liqinglucky/p/snprintf.html

相关文章

  • 自学C语言2023_6_27
    注释:快捷键:ctrl+k+c(先按k再按c)将选中行注释ctrl+k+u(先按k再按u)取消注释注释的作用是解释代码,注释内容不会运行选择语句:循环语句:  ......
  • C语言【malloc函数】
    malloc函数是C语言中的动态内存分配函数,用于在运行时分配指定大小的内存空间。它的函数原型如下:void*malloc(size_tsize);malloc函数接受一个参数size,表示要分配的内存空间的大小(以字节为单位)。它返回一个指向分配的内存块的指针。如果内存分配失败,则返回NULL。使用m......
  • C语言中的网络编程:套接字和网络通信
    网络编程在C语言中是一个非常重要的主题。在这篇博客中,我们将深入了解(socket)和网络通信的基本概念。套接字是实现网络通信的关键部分,它允许计算机之间通过网络进行数据交换。我们将探索如何创建套接字、建立连接、发送和接收数据等操作。首先,我们需要包含一些头文件,这些头文件包含......
  • Python中进行字符串拼接的常用方法!
    在Pyhon编程语言中,字符串拼接是一种十分常见的操作,通常用于将文本片段连接起来形成一段完整的字符串,然而很多人在进行字符串拼接操作时不可避免地会遇到一些错误,那么该如何解决呢?以下是详细的内容:1、使用"+"号进行字符串拼接在Python中,使用"+"号进行字符串拼接是最常......
  • C语言中常见的表达式
    (文章目录)前言本文主要介绍什么是表达式,表达式在C语言中非常常见希望大家可以好好学习。一、表达式定义表达式是一种有值的语法结构,它由运算符(变量、常量、函数调用返回值)结合而成,每个表达式一定有一个值。二、常量表达式例子:a,12,12.4值:就是变量或者常量本身的值作为条......
  • 八股-C语言
    define和const关键字定义常量方式的异同关于定义常量,"define"和"const"是两种不同的方式,它们有以下异同点:定义方式:"define"是C语言中使用的预处理指令,使用宏定义来创建常量。例如:#definePI3.14159"const"是C语言中的关键字,在编译时进行符号绑定来创建常量。例如:constdou......
  • C语言学习笔记
    斐波那契定义:斐波那契数列是一个数列,其中每个数字是前两个数字之和,起始于0和1。数列的定义如下:F(0)=0F(1)=1F(n)=F(n-1)+F(n-2)(对于n>1)换句话说,斐波那契数列的第n个数字是前两个数字之和,而前两个数字分别是0和1。数列的前几个数字如下所示:0,1,1,......
  • 逍遥自在学C语言 | 指针陷阱-空指针与野指针
    前言在C语言中,指针是一种非常强大和灵活的工具,但同时也容易引发一些问题,其中包括空指针和野指针。本文将带你了解这两个概念的含义、产生原因以及如何避免它们所导致的问题。一、人物简介第一位闪亮登场,有请今后会一直教我们C语言的老师——自在。第二位上场的是和我们......
  • Python 知识点总结-- join 拼接
    路径拼接   path.join() 和str.join() 区别path.join() join方法是一个不定长参数path.join()是python中的OS模块中的方法,使用前需要导入os 用于将多个路径拼接成一个完整的路径。使用该方法时,需要将需要的拼接的路径以参数的形式传递给该方法importosfull......
  • c语言实现简单实用的循环队列
    2023-06-25   https://www.cnblogs.com/NJ-Leon/ 1.fifo.h文件#ifndef__FIFO_H__#define__FIFO_H__#defineFIFO_SIZE8//根据实际需要,自行修改typedefstruct{int16_tdata_0;int16_tdata_1;}fifo_data_t;typedefstruct{......