目錄
烏翠網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
零基礎(chǔ) C/C++ 學(xué)習(xí)路線推薦 : C/C++ 學(xué)習(xí)目錄 >> C 語(yǔ)言基礎(chǔ)入門(mén)
在 stdlib.h
中 atol
函數(shù),可用于將 char
字符串轉(zhuǎn)為 long
長(zhǎng)整數(shù)類(lèi)型,語(yǔ)法如下:
/*
*描述:此類(lèi)函數(shù)是把 value轉(zhuǎn)換成一個(gè)以空格結(jié)尾的字符串,并存儲(chǔ)在string中(至多33個(gè)字節(jié))。
*
*參數(shù):
* [in] nptr:字符串類(lèi)型
*
*返回值:返回轉(zhuǎn)換后的長(zhǎng)整型數(shù)
*/
long atol(const char *nptr);
C
語(yǔ)言的整形,分類(lèi)兩類(lèi),一種是有符號(hào)的(正數(shù)/負(fù)數(shù)),一種是無(wú)符號(hào)的(默認(rèn)是大于等于零);
unsigned int 取值范圍 :0~
unsigned short int 取值范圍 :0~
unsigned long int 取值范圍 :0~
無(wú)符號(hào)整形,默認(rèn)重 0 開(kāi)始,永遠(yuǎn)不可能有負(fù)數(shù);
int 取值范圍 :-~+
short int 取值范圍 :-~+
long int 取值范圍 :-~+
有符號(hào)整形有正負(fù)區(qū)間(包含大于 0 和小于 0 兩個(gè)區(qū)間),實(shí)際上總長(zhǎng)度和無(wú)符號(hào)整形一樣;
早期的操作系統(tǒng)是 16 位系統(tǒng)
int用二字節(jié)表示,范圍是-~;
long用4字節(jié)表示,范圍是-~;
后來(lái)發(fā)展到 32 位操作系統(tǒng)
int 用4字節(jié)表示,與long相同,范圍是-~;
目前的操作系統(tǒng)已發(fā)展到 64 位操作系統(tǒng),但因程序編譯工藝的不同,兩者表現(xiàn)出不同的差別:
32位編譯系統(tǒng):int占四字節(jié),與long相同,范圍是-~;
64位編譯系統(tǒng):int占四字節(jié),long占8字節(jié),long數(shù)據(jù)范圍變?yōu)椋?2^63 ~ 2^63-1;
/******************************************************************************************/
//@Author:猿說(shuō)編程
//@Blog(個(gè)人博客地址): www.codersrc.com
//@File:C/C++ atol函數(shù)
//@Time:2021/08/16 08:00
//@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!
/******************************************************************************************/
#include "stdafx.h"
#include
#include "windows.h"
#pragma warning(disable: 4996)
int _tmain(int argc, _TCHAR* argv[])
{
char szDst[1024] = "";
int nSrc = 123;
printf("atol函數(shù)計(jì)算結(jié)果 %d \n", atol(""));
printf("atol函數(shù)計(jì)算結(jié)果 %d \n", atol("0"));
printf("atol函數(shù)計(jì)算結(jié)果 %d \n", atol("789"));
printf("atol函數(shù)計(jì)算結(jié)果 %d \n", atol("123.123")); //默認(rèn)轉(zhuǎn)為整數(shù)
printf("atol函數(shù)計(jì)算結(jié)果 %d \n", atol("-9"));
system("pause");
return 0;
}
/*
輸出:
atol函數(shù)計(jì)算結(jié)果
atol函數(shù)計(jì)算結(jié)果 0
atol函數(shù)計(jì)算結(jié)果 789
atol函數(shù)計(jì)算結(jié)果 123
atol函數(shù)計(jì)算結(jié)果 -9
請(qǐng)按任意鍵繼續(xù). . .
*/
看到這里是不是很疑惑,感覺(jué)和前面介紹的 atoi
函數(shù)沒(méi)什么區(qū)別,其實(shí)確實(shí)沒(méi)有什么區(qū)別,atol
函數(shù)主要是針對(duì) long
類(lèi)型,在數(shù)值比較小的時(shí)候,使用 atol
函數(shù)和 atoi
函數(shù)都一樣;
未經(jīng)允許不得轉(zhuǎn)載:猿說(shuō)編程 ? C/C++ atol 函數(shù)
本文由博客 - 猿說(shuō)編程 猿說(shuō)編程 發(fā)布!