CSAPP学习日志5:hexify
程序员文章站
2022-03-04 21:42:28
...
代码全览
/* Convert sequence of hex digits on command line into a string, terminated by \n */
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i;
for (i = 1; i < argc; i++) {
unsigned long dig = strtoul(argv[i], NULL, 16);
putchar((char) dig);
}
putchar('\n');
return 0;
}
运行结果如下:
①stroul函数:原型:unsigned long strtoul (const char* str, char** endptr, int base);,作用:将字符串转换成无符号长整型数,第一个参数:要转换为无符号长整数的字符串的首地址,第二个参数:返回字符串有效数字的结束地址,若第二个参数为 NULL,则表示该参数无效,或不使用该参数,第三个参数:转换基数,当 base 的值为 0 时,默认采用 10 进制转换。
②程序将参数按16进制处理,在强制类型转换为字符型输出,如30H对应十进制48,查阅ASCⅡ码表可知其对应的字符是0,后面输出的字符以此类推。
上一篇: php怎么强制转码
下一篇: c语言在gcc中怎么运行程序?