fprintf一个unsigned long作为char

时间:2015-04-18 23:09:13

标签: c printf long-integer

我想做类似的事情:

unsigned long addr = 0x000decaf;
...
fprintf(fp, "AAAAAAAAAAAAAAAAAA$s", addr);

通常我会这样做

unsigned long addr = 0x000decaf;
memcpy(buf, &addr, 4);

但是因为我的程序在输入文件上使用了getLine()所以像AAAA\x00\x01BBBB这样的东西会被视为'A','A','A','A','\','x','0','0',...我可以做些什么来让getLine()来做我想用memcpy()

做的等价物

1 个答案:

答案 0 :(得分:0)

只需使用%lu令牌即可打印unsigned long

fprintf(fp, "%lu", addr);

如果你想要它是十六进制:

fprintf(fp, "0x%x", addr);
相关问题