atol函數(shù)的作用是將一個(gè)字符串轉(zhuǎn)化為長(zhǎng)整型數(shù)據(jù),其原型如下:
long int atol ( const char * str );
該函數(shù)首先丟棄無用的空白,直到第一個(gè)非空白字符串出現(xiàn)。然后從該字符開始,將其解釋為10進(jìn)制的數(shù)字。
在可以形成數(shù)值的字符串后可以包括多余的字符,這些字符對(duì)該函數(shù)的作用沒有影響。
如果字符串中的第一個(gè)非空白字符不是有效的整型數(shù)字,或該字符串是空字符串,或字符串僅包括空白字符,則該函數(shù)將不進(jìn)行轉(zhuǎn)換而返回0.
該函數(shù)如執(zhí)行成功,則返回一個(gè)相應(yīng)的長(zhǎng)整型數(shù),否則返回0.
如果轉(zhuǎn)換的數(shù)值超出了長(zhǎng)整型可以表達(dá)的數(shù)值范圍,其將導(dǎo)致未定義的行為。
下面給出該函數(shù)的一個(gè)使用例子:
/* atol 函數(shù)使用例子 */
#include <stdio.h> /* 引入printf, fgets所在的庫 */
#include <stdlib.h> /* atol函數(shù)所在的庫 */
int main ()
{
long int li;
char buffer[256];
printf ("Enter a long number: ");
fgets (buffer, 256, stdin);
li = atol(buffer);
printf ("The value entered is %ld. Its double is %ld./n",li,li*2);
return 0;
}
該程序的執(zhí)行結(jié)果如下:
Enter a number: 567283
The value entered is 567283. Its double is 1134566.
新聞熱點(diǎn)
疑難解答