在64位Linux计算机上面,long类型是8个字节的,如何通过sscanf和printf来处理long类型呢?
示例如下:
#include <stdio.h>
int
main(int arg,char *argv[])
{
unsigned long l;
sscanf(argv[1],"%lu",&l);
printf("l=%lu\n",l);
return 0;
}
只要在sscanf和printf中采用“%lu”就可以满足要求
注意,不能写反,如果写成“%ul”就错误了。
32位编译命令:
g++ -o aa aa.cpp
64位编译命令:
g++ -m64 -o aa aa.cpp