在C++中,strtoll
函數用于將字符串轉換為長整型(long long
)
以下是一個使用strtoll
函數的示例:
#include<iostream>
#include<string>
#include <cstdlib> // 包含 strtoll 函數的頭文件
int main() {
std::string str = "123456789012345";
char* end; // 用于存儲轉換后剩余字符串的指針
long long result = std::strtoll(str.c_str(), &end, 10); // 使用 strtoll 函數進行轉換,基數為10(十進制)
if (end == str.c_str() + str.size()) { // 判斷是否完全轉換
std::cout << "轉換成功,結果為:"<< result<< std::endl;
} else {
std::cout << "轉換失敗或部分轉換。未轉換部分為:"<< end<< std::endl;
}
return 0;
}
在這個示例中,我們將一個表示十進制數值的字符串轉換為長整型。strtoll
函數的第二個參數是一個指向字符的指針,它將存儲轉換后剩余字符串的位置。我們可以通過檢查這個指針是否指向字符串的末尾來判斷是否完全轉換。如果轉換成功,我們將輸出轉換后的長整型值;否則,我們將輸出未轉換部分的字符串。