如何在c++中高效使用itoa函數(shù)

c++
小樊
82
2024-09-13 01:25:03

itoa 函數(shù)是一個(gè)非標(biāo)準(zhǔn)的函數(shù),主要在一些舊的 C++ 庫(kù)和編譯器中使用

  1. 使用 std::to_string
#include<iostream>
#include<string>

int main() {
    int num = 42;
    std::string str = std::to_string(num);
    std::cout << "Number: "<< num << ", String: "<< str<< std::endl;
    return 0;
}
  1. 使用 std::ostringstream
#include<iostream>
#include <sstream>
#include<string>

int main() {
    int num = 42;
    std::ostringstream oss;
    oss<< num;
    std::string str = oss.str();
    std::cout << "Number: "<< num << ", String: "<< str<< std::endl;
    return 0;
}
  1. 使用 std::snprintf
#include<iostream>
#include <cstdio>
#include<string>

int main() {
    int num = 42;
    char buffer[20]; // 足夠大以容納整數(shù)
    std::snprintf(buffer, sizeof(buffer), "%d", num);
    std::string str(buffer);
    std::cout << "Number: "<< num << ", String: "<< str<< std::endl;
    return 0;
}

這些方法都可以實(shí)現(xiàn)將整數(shù)轉(zhuǎn)換為字符串,并且在現(xiàn)代 C++ 編程中更常用。使用這些方法而不是 itoa 可以確保你的代碼更具可移植性和兼容性。

0