91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在c++中實現itoa函數的替代方案

c++
小樊
86
2024-09-13 01:16:18
欄目: 編程語言

在C++中,itoa 函數并不是標準庫的一部分,因此建議使用其他替代方法

方法1:使用std::to_string

#include<iostream>
#include<string>

int main() {
    int number = 42;
    std::string str_number = std::to_string(number);
    std::cout << "Number as string: "<< str_number<< std::endl;
    return 0;
}

方法2:使用std::ostringstream

#include<iostream>
#include <sstream>
#include<string>

int main() {
    int number = 42;
    std::ostringstream oss;
    oss<< number;
    std::string str_number = oss.str();
    std::cout << "Number as string: "<< str_number<< std::endl;
    return 0;
}

方法3:自定義itoa函數

#include<iostream>
#include<string>
#include<algorithm>

std::string itoa_custom(int value, int base = 10) {
    if (base < 2 || base > 36) {
        throw std::invalid_argument("Invalid base");
    }
    
    if (value == 0) {
        return "0";
    }

    char chars[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    std::string result;
    bool is_negative = value < 0;
    if (is_negative) {
        value = -value;
    }

    while (value != 0) {
        int remainder = value % base;
        result += chars[remainder];
        value /= base;
    }

    if (is_negative) {
        result += '-';
    }

    std::reverse(result.begin(), result.end());
    return result;
}

int main() {
    int number = 42;
    std::string str_number = itoa_custom(number);
    std::cout << "Number as string: "<< str_number<< std::endl;
    return 0;
}

這些方法都可以實現將整數轉換為字符串。選擇最適合你需求的方法。

0
岳阳市| 独山县| 北辰区| 江西省| 霍山县| 衡水市| 喜德县| 桐柏县| 垦利县| 喀什市| 霍邱县| 沿河| 田阳县| 本溪市| 措美县| 庄河市| 五家渠市| 长乐市| 无棣县| 金堂县| 湛江市| 定安县| 庆阳市| 乐都县| 防城港市| 安宁市| 怀化市| 普陀区| 肥乡县| 突泉县| 台东县| 蒲江县| 富锦市| 横山县| 萍乡市| 弥渡县| 四子王旗| 永兴县| 昌宁县| 杨浦区| 太和县|