C string轉int的方法

2021-09-20 15:25:59 字數 1400 閱讀 2006

一 點睛

需要用到下面這一組函式。

long int strtol(const char *nptr, char **endptr, int base);                    //將引數nptr字串根據引數base來轉換成有符號的整型

long long int strtoll(const char *nptr, char **endptr, int base); //將引數nptr字串根據引數base來轉換成有符號的長整型

unsigned long int strtoul(const char *nptr, char **endptr, int base); //將引數nptr字串根據引數base來轉換成無符號整型

unsigned long long int strtoull(const char *nptr, char **endptr, int base); //將引數nptr字串根據引數base來轉換成無符號長整型

使用說明

第乙個引數 nptr是要轉化的字串。

第二個引數endptr可以為空,如果不為空,則 endptr 儲存函式結束前的那個非合法字元的位址。如果沒有合法字元,則 *endptr = nptr,函式返回0.

第三個引數base說明nptr的進製。base 取值範圍 0,2-36。

這幾個函式會忽略nptr前面的空格( ' ', '\t', '\n' '\f', '\v' '\r' ,由isspace判定為真的字元)。

二 實戰

1 **

#include#include#includeusing namespace std;

int main(){

char *endptr;

char nptr="123abc";

int ret = strtol(nptr, &endptr, 10 );

cout<<"ret:"<2 執行

[root@localhost charpter03]# g++ 0307.cpp -o 0307

[root@localhost charpter03]# ./0307

ret:123

endptr:abc

ret:0

endptr2:

abcret:83

endptr8:

ret:291

endptr16:

3 說明

當第3個引數為0時,則分以下3中情況進行處理:

第1種:如果nptr以0x開頭,則把nptr當成16進製制來處理。

第2種:如果nptr以0開頭,則把nptr當成8進製來處理。

第3種:把nptr當成10進製。

C string和int型別的轉換方法

總結一下c 中string和int的兩種轉換方法。第一種 使用c標準庫中的函式atoi 和itoa include include using namespace std int main 注意在這個方法中vs中會報告出現不安全,在配置屬性 c c 預處理器加入 crt secure no warn...

C String轉int主要有四種方法

string轉int主要有四種方法 1.int.parse 是一種類容轉換 表示將數字內容的字串轉為int型別。如果字串為空,則丟擲argumentnullexception異常 如果字串內容不是數字,則丟擲formatexception異常 如果字串內容所表示數字超出int型別可表示的範圍,則丟擲...

string 轉int 的方法

首先感謝群裡一位兄弟老a,讓我更加熟悉了string 轉int 方法。廢話不多說,直接貼 背景 string liststring new string 方法1 迭代 int c new int liststring.length 09for int i 0 i liststring.length ...