在C++中,可以使用std::strtoll
函數將字符串轉換為長整型(long long
)
#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 << "轉換失敗,未能完全轉換"<< std::endl;
}
return 0;
}
在這個例子中,我們使用std::strtoll
函數將字符串str
轉換為長整型。注意,我們需要傳遞一個指向字符的指針變量end
作為第二個參數,以便在轉換后獲取剩余字符串的起始位置。我們還需要傳遞一個整數參數(在本例中為10),表示要轉換的數值的基數(進制)。在這種情況下,我們使用十進制。
在轉換完成后,我們檢查end
指針是否指向字符串的末尾,以確定是否已成功完全轉換字符串。如果轉換成功,則輸出結果;否則,輸出轉換失敗信息。