我想做类似的事情:
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()
答案 0 :(得分:0)
只需使用%lu
令牌即可打印unsigned long
:
fprintf(fp, "%lu", addr);
如果你想要它是十六进制:
fprintf(fp, "0x%x", addr);