溫馨提示×

c++如何通過strtoll轉換長整型

c++
小樊
88
2024-09-15 16:28:08
欄目: 編程語言

在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指針是否指向字符串的末尾,以確定是否已成功完全轉換字符串。如果轉換成功,則輸出結果;否則,輸出轉換失敗信息。

0