69,371
社区成员
发帖
与我相关
我的任务
分享
char buf[10];
char bin[50] = {0x,ab,0xbc,0xcd};
char str[100];
len = strlen(bin);
for (i = 0; i < len; i++) {
sprintf(buf,"%s",bin[i]);
strcat(str,buf);
}
char bin[50] = {0xab,0xbc,0xcd};
char str[100];
for (i = 0; i < 3; i++) {
sprintf(str+i*2,"%02X",(unsigned char)bin[i]);
}
#include <stdio.h>
#include <string.h>
char str[100] = "EB4D67E8F2FCE45F613144876EF8D1B9";
char bin[50];
int i,v,L;
int main() {
L=strlen(str);
for (i=0;i<L/2;i++) {
sscanf(str+i*2,"%2X",&v);
bin[i]=(char)v;
printf("%02X ",(unsigned char)bin[i]);
}
return 0;
}
//EB 4D 67 E8 F2 FC E4 5F 61 31 44 87 6E F8 D1 B9
作为一个C程序员,对
scanf,sscanf,fscanf
printf,sprintf,fprintf
这类函数的用法,还是要做到“拳不离手,曲不离口”的。
#include <stdio.h>
#include <string.h>
int s2h(const char *s, char *h)
{
int i, n;
char *p;
static unsigned char t[256] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15, /* 0-9 */
0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A-F */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* a-f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
p = h;
n = strlen(s);
if (n % 2) {
h[0] = t[(unsigned char)s[0]];
++p;
++s;
}
for (i = 0; i < n; i = i + 2) {
*(p++) = (t[(unsigned char)s[i]] << 4) | t[(unsigned char)s[i + 1]];
}
return (n + 1) / 2;
}
int
main(int argc, char *argv[])
{
char s[] = "EB4D67E8F2FCE45F613144876EF8D1B9";
char h[1024];
int i, n;
n = s2h(s, h);
for (i = 0; i < n; ++i) {
printf("%02x", (unsigned char)h[i]);
}
printf("\n");
return 0;
}
#include <stdio.h>
char s[]="123 ab 4";
char *p;
int v,n,k;
void main() {
p=s;
while (1) {
k=sscanf(p,"%d%n",&v,&n);
printf("k,v,n=%d,%d,%d\n",k,v,n);
if (1==k) {
p+=n;
} else if (0==k) {
printf("skip char[%c]\n",p[0]);
p++;
} else {//EOF==k
break;
}
}
printf("End.\n");
}
//k,v,n=1,123,3
//k,v,n=0,123,3
//skip char[ ]
//k,v,n=0,123,3
//skip char[a]
//k,v,n=0,123,3
//skip char[b]
//k,v,n=1,4,2
//k,v,n=-1,4,2
//End.