zoukankan      html  css  js  c++  java
  • 如何將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,所以無從測試

  • 相关阅读:
    iOS-Core Text 入门
    Mac浏览器全屏设置
    Quartz 2D - 图形上下文(Graphics Contexts)
    Quartz 2D 概述
    Quartz 2D官方文档翻译(持续更新中)
    那些年,我们常掉进去的坑
    CGAffineTransformMake(a,b,c,d,tx,ty) 矩阵运算的原理 (转载)
    科大讯飞
    Object-C语言类的扩展
    科大讯飞语音识别
  • 原文地址:https://www.cnblogs.com/lzjsky/p/1861789.html
Copyright © 2011-2022 走看看