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,所以無從測試

  • 相关阅读:
    最好的(自我感觉)实现多个ASP.NET跨程序池共享Session [转]
    ASP.NET MVC 实现二级域名 [转]
    余弦相似度
    用Appfabric cache存储asp.net Session遇到的问题及总结(转)
    Hbase C# Thrift 连接 , 提示 因为队列满或者系统缺乏足够的缓冲空间
    Dictionary<byte[],string> 出现错误的解决方案
    百分点推荐引擎:从需求到架构
    ETL 学习 (转)
    消息队列软件产品大比拼
    基于Hbase的用户评分协同过滤推荐算法
  • 原文地址:https://www.cnblogs.com/lzjsky/p/1861789.html
Copyright © 2011-2022 走看看