如何在sprintf函数中包含另一个字符串。请参阅示例 - \
char data[6] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20};
char buff[50];
sprintf(buff, "I want to add this string - < ? >",data) ;
我希望我的buff
会像 - 我想添加此字符串 - 202020202020
请建议。
答案 0 :(得分:4)
sprintf
用于将任何数据转换为String。
您的数据是十六进制数据。所以使用%x
格式说明符。
试试此代码
sprintf(buff,"%x%x%x%x%x%x",data[0],data[1],data[2],data[3],data[4],data[5]);
printf("%s\n",buff);
它会将结果显示为202020202020
。
答案 1 :(得分:4)
#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;
}
答案 2 :(得分:0)
Sprintf用于打印到字符串。它类似于printf,区别在于输出是字符串而不是控制台。