64位Linux计算机长整型的处理


在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

相关内容