目录
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
在 stdlib.h
中 atol
函数,可用于将 char
字符串转为 long
长整数类型,语法如下:
/* *描述:此类函数是把 value转换成一个以空格结尾的字符串,并存储在string中(至多33个字节)。 * *参数: * [in] nptr:字符串类型 * *返回值:返回转换后的长整型数 */ long atol(const char *nptr);
C
语言的整形,分类两类,一种是有符号的(正数/负数),一种是无符号的(默认是大于等于零);
unsigned int 取值范围 :0~65535 unsigned short int 取值范围 :0~65535 unsigned long int 取值范围 :0~4294967295
无符号整形,默认重 0 开始,永远不可能有负数;
int 取值范围 :-32768~+32767 short int 取值范围 :-32768~+32767 long int 取值范围 :-2147483648~+2147483647
有符号整形有正负区间(包含大于 0 和小于 0 两个区间),实际上总长度和无符号整形一样;
早期的操作系统是 16 位系统
int用二字节表示,范围是-32768~32767; long用4字节表示,范围是-2147483648~2147483647;
后来发展到 32 位操作系统
int 用4字节表示,与long相同,范围是-2147483648~2147483647;
目前的操作系统已发展到 64 位操作系统,但因程序编译工艺的不同,两者表现出不同的差别:
32位编译系统:int占四字节,与long相同,范围是-2147483648~2147483647; 64位编译系统:int占四字节,long占8字节,long数据范围变为:-2^63 ~ 2^63-1;
/******************************************************************************************/ //@Author:猿说编程 //@Blog(个人博客地址): www.codersrc.com //@File:C/C++ atol函数 //@Time:2021/08/16 08:00 //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! /******************************************************************************************/ #include "stdafx.h" #include <stdio.h> #include "windows.h" #pragma warning(disable: 4996) int _tmain(int argc, _TCHAR* argv[]) { char szDst[1024] = ""; int nSrc = 123; printf("atol函数计算结果 %d \n", atol("13456")); printf("atol函数计算结果 %d \n", atol("0")); printf("atol函数计算结果 %d \n", atol("789")); printf("atol函数计算结果 %d \n", atol("123.123")); //默认转为整数 printf("atol函数计算结果 %d \n", atol("-9")); system("pause"); return 0; } /* 输出: atol函数计算结果 13456 atol函数计算结果 0 atol函数计算结果 789 atol函数计算结果 123 atol函数计算结果 -9 请按任意键继续. . . */
看到这里是不是很疑惑,感觉和前面介绍的 atoi
函数没什么区别,其实确实没有什么区别,atol
函数主要是针对 long
类型,在数值比较小的时候,使用 atol
函数和 atoi
函数都一样;
未经允许不得转载:猿说编程 » C/C++ atol 函数
本文由博客 - 猿说编程 猿说编程 发布!