C语言中Sprintf函数的使用

-5 c string printf

如何在 sprintf 函数中包含另一个字符串。看例子-\

char data[6] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20};
char buff[50];

sprintf(buff, "I want to add this string - < ? >",data) ;
Run Code Online (Sandbox Code Playgroud)
  1. 我的问题是这是否有效?
  2. 如果是,那么我应该添加的正确访问说明符是什么。%s 不工作。

我想要我的buff样子 - 我想添加这个字符串 - 202020202020

请建议。

BLU*_*IXY 5

#include <stdio.h>

int main(){
    int i, len = 0;
    char data[6] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20};
    char buff[50];

    for(i=0;i<sizeof(data);++i){
        len += sprintf(buff + len, "%02x", (unsigned char)data[i]);
    }
    printf("%s\n", buff);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)