• 如何將int轉string? (C/C++) (C)


    C/C++並沒有提供內建的int轉string函數,這裡提供幾個方式達到這個需求。

    1.若用C語言,且想將int轉char *,可用sprintf(),sprintf()可用類似printf()參數轉型。

     1/* 
     2(C) OOMusou 2007 http://oomusou.cnblogs.com
     3
     4Filename    : int2str_sprintf.cpp
     5Compiler    : Visual C++ 8.0 / ANSI C
     6Description : Demo the how to convert int to const char *
     7Release     : 01/06/2007 1.0
     8*/

     9#include "stdio.h"
    10
    11void int2str(int , char *);
    12
    13int main() {
    14  int i = 123;
    15  char s[64];
    16  int2str(i, s);
    17  puts(s);
    18}

    19
    20void int2str(int i, char *s) {
    21  sprintf(s,"%d",i);
    22}


    2.若用C語言,還有另外一個寫法,使用_itoa(),Microsoft將這個function擴充成好幾個版本,可參考MSDN Library。

     1/* 
     2(C) OOMusou 2007 http://oomusou.cnblogs.com
     3
     4Filename    : int2str_itoa.cpp
     5Compiler    : Visual C++ 8.0 / ANSI C
     6Description : Demo the how to convert int to const char *
     7Release     : 01/06/2007 1.0
     8*/

     9#include "stdio.h"  // puts()
    10#include "stdlib.h" // _itoa()
    11
    12void int2str(int , char *);
    13
    14int main() {
    15  int i = 123;
    16  char s[64];
    17  int2str(i, s);
    18  puts(s);
    19}

    20
    21void int2str(int i, char *s) {
    22  _itoa(i, s, 10);
    23}


    3.若用C++,stringstream是個很好用的東西,stringstream無論是<<或>>,都會自動轉型,要做各型別間的轉換,stringstream是個很好的媒介。

     1/* 
     2(C) OOMusou 2007 http://oomusou.cnblogs.com
     3
     4Filename    : int2str_sstream.cpp
     5Compiler    : Visual C++ 8.0 / ISO C++
     6Description : Demo the how to convert int to string
     7Release     : 01/06/2007 1.0
     8*/

     9
    10#include <iostream>
    11#include <string>
    12#include <sstream>
    13
    14using namespace std;
    15
    16string int2str(int &);
    17
    18int main(void{
    19  int i = 123;
    20  string s;
    21  s = int2str(i);
    22
    23  cout << s << endl;
    24}

    25
    26string int2str(int &i) {
    27  string s;
    28  stringstream ss(s);
    29  ss << i;
    30
    31  return ss.str();
    32}


    4.若用C++,據稱boost有更好的方法,不過我還沒有裝boost,所以無從測試

  • 相关阅读:
    自动化测试知识点汇总(200421)
    Mac_使用allure 生成测试报告
    mac_使用Charles抓取Firefox 链接
    工具列表
    Appium_iOS_Safari测试脚本(2)
    日志学习(一)
    java中==和equals的区别(转)
    jackson使用localdatetime转换json出现问题
    js复习--基础
    复习下CSS-零碎要点
  • 原文地址:https://www.cnblogs.com/lzjsky/p/1861789.html
Copyright © 2020-2023  润新知