C++ 中 char 與 int 轉換問題


itoa

功  能:把一整數轉換為字符串

函  數:char *itoa(int value, char *string, int radix);

解  釋:itoa 是英文integer to array(將 int 整型數轉化為一個字符串,並將值保存在數組 string 中)的縮寫。

參  數:value: 待轉化的整數。
          radix: 是基數的意思,即先將value轉化為radix進制的數,范圍介於2-36,比如10表示10進制,16表示16進制。
          *string: 保存轉換后得到的字符串。

返回值:char* 指向生成的字符串, 同*string。

備  注:在 C 語言中該函數的頭文件是"stdlib.h"。

示  例:

#include <iostream>
using namespace std;
int main()
{
    int num = 123456;
    char str[25];
    itoa(num, str, 10);     cout<<"interger = "<<num<<endl;
    cout<<"string = "<<str<<endl;
    return 0;
}

結  果:interger = 12345
          string = 123456

atoi

功  能:把字符串轉換成整型數

函  數:int atoi(const char *nptr);

說  明:atoi()會掃描參數nptr字符串,檢測到第一個數字或正負符號時開始做類型轉換,之后檢測到非數字或結束符 \0 時停止轉換,返回整型數。  

備  注:在 C 語言中該函數的頭文件是"stdlib.h"。

示  例:

#include <iostream>
using namespace std;
int main()
{
    int num;
    char *str = "12345.67";
    num 
=
 atoi(str);
    cout<<"interger = "<<num<<endl;
    cout<<"string = "<<str<<endl;
    return 0;
}

結  果:interger = 12345
          string = 12345.67

 

 

  • char 轉 string

string s(char *);

這里的只能初始化,在不是初始化的地方最好還是用 assign()。

  • string 轉 char *

char *p = string.c_str();

 

文章來自 雨兒的博客,更多請參見該博文。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM