C語言提供了一系列函數把字符串轉換為整數:atoi、atol、atoll和atoq。
1、包含頭文件
#include <stdlib.h>
2、函數聲明
int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);
long long atoq(const char *nptr);
3、功能說明
atoi:把字符串nptr轉換為int。
atol:把字符串nptr轉換為long int。
atol:把字符串nptr轉換為long long int。
atoq:atoq() is an obsolete name for atoll()。
4、示例
/*
* 程序名:book.c,此程序用於演示atoi函數族。
* 作者:C語言技術網(www.freecplus.net) 日期:20190525。
*/
int main()
{
int ii=0;
ii=atoi("123");
printf("ii=%d\n",ii); // 輸出ii=123
ii=atoi("123abc");
printf("ii=%d\n",ii); // 輸出ii=123,合法數字后的abc被忽略。
ii=atoi("abc123");
printf("ii=%d\n",ii); // 輸出ii=0,數字前有字符為非法。
ii=atoi("+123");
printf("ii=%d\n",ii); // 輸出ii=123,+是合法字符。
ii=atoi("-123");
printf("ii=%d\n",ii); // 輸出ii=-123,-是合法字符。
}
5、其它說明
1)atol函數把字符串轉換為long int,使用方法與atoi類似,您可以寫代碼測試一下,注意int和long的取值范圍,在64位操作系統中,int的取值范圍是-2147483648~2147483647,long的取仠范圍是-9223372036854775808~9223372036854775807。
2)在64位操作系統中,long和long long類型沒有區別,所以atoll和atoq函數暫時沒什么意義。
6、版權聲明
C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道
如果這篇文章對您有幫助,請點贊支持,或在您的博客中轉發我的文章,謝謝。