sprintf %02x
来源:互联网 发布:普林科技 大数据 成都 编辑:程序博客网 时间:2024/05/16 09:34
#include<stdio.h>
#include<bios.h>
#define lo(f) ((f)&0xff)
#define hi(f) (lo(f>>8))
int main(void)
{
int key;
do
{
key=bioskey(0);
printf("0x%02x 0x%02x %c\n",hi(key),lo(key),lo(key));//这条语句中0x%02x是什么意思??
}
while(key!=0x011b);
/*printf("hello world");*/
return 0;
}
%02X什么意思啊!
格式控制: 以十六进制输出,2为指定的输出字段的宽度.如果位数小于2,则左端补0
就是说hi(key)的返回值,将以十六进制,并且显示2位的方式显示。
例如:hi(key)==0x09
那么0x%02x 就显示为 0x09,如果你用0x%x 就显示为0x9
// 以1 6进制方式按字节显示数据
void ShowHex(void * pv,int size)
{
char * pc=new char[100]; // 临时字符数组,获取整个数据的16进制表示
char * temppc=new char[10]; // 临时字符数组,获取单个字节的16进制表示
if((pc!=NULL)&&(temppc!=NULL))
{
strcpy(pc, " "); //清空
for(int i=0;i <size;i++) // 根据数据的字节长度来循环
{
sprintf(temppc, "%02X ",((unsigned char *)pv)[i]);//问题所在
strcat(pc,temppc);
}
cout < <pc < <endl;//显示16进制方式的数据并回车
}
}
sprintf(temppc, "%02X ",((unsigned char *)pv)[i]);//问题所在
-----> 这个是C语言的基本函数啊,就是一个字符串的输出函数,和printf的差别在于它输出定向到一个字符缓冲(temppc)。
在CB的HELP中,敲入sprintf,看到完整帮助
sprintf(temppc, "%02X ",((unsigned char *)pv)[i]);
将pv当前字节按16进制显示到temppc。
%02X 与 %2X
If width is prefixed with 0, zeros are added until the minimum width is reached. If 0 and – appear, the 0 is ignored. If 0 is specified with an integer format (i, u, x, X, o, d) the 0 is ignored.
就是说一般情况下表示在左侧填充'0’,直到达到声明的长度。但是又用了'-’标志的,及转换i, u, x, X, o, d这些数字时,'0’标志被忽略。
就是说一般情况下表示在左侧填充'0’,直到达到声明的长度。但是又用了'-’标志的,及转换i, u, x, X, o, d这些数字时,'0’标志被忽略。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char data[6] = {0x01,0x26,0x0A,0x0B,0x21,0x23};
char buffer[100];
memset(buffer, 0, sizeof(buffer));
sprintf(buffer, "%02X:%02X:%02X:%02X:%02X:%02X", data[0],data[1], data[2],data[3], data[4],data[5]);
printf("转换后:%s\n", buffer);
printf("转换后length:%d\n", strlen(buffer));
system("pause");
return 0;
}
显示 strlen(buffer) = 17 (2*6 + 5);
0 0
- sprintf %02x
- php sprintf() 详解——sprintf('%08x',number);
- 多进制输出x 和sprintf用法
- sprintf
- sprintf
- sprintf
- sprintf
- sprintf
- sprintf()
- sprintf
- sprintf
- sprintf
- sprintf
- sprintf
- sprintf
- sprintf
- sprintf
- Sprintf
- Spinnner和 AutoCompleteTextView联想输入框、popupwindow
- contiki SLIP代码分析
- eclipse 中 properties 显示中文为\
- C#基础笔记 Day2
- 命令行(mysqldump)导出数据库、数据表
- sprintf %02x
- 总结js创建object的方式(对象)
- LeetCode103 BinaryTreeZigzagLevelOrderTraversal(二叉树Z形层次遍历) Java题解
- Java中的线程同步技术
- 深入理解Activity——Token之旅
- DirectShow_基础与简单示例说明
- ajaxFileUpload单图上传
- velocity 标签的使用
- 程序员求职渠道总结