C++中將string類型轉化為int類型


  寫程序需要將string轉化為int,所以就探索了一下。

  方法一:atoi函數

  atoi函數將字符串轉化為整數,注意需要stdlib庫。所以就嘗試了一下:

  

 1 #include <iostream>
 2 #include <string.h>
 3 #include <stdlib.h>
 4 using namespace std;
 5 int main()
 6 {
 7     string a="11",b="22";
 8     cout<<atoi(a)+atoi(b)<<endl;
 9     return 0;
10 
11 }

  然而卻發現報錯:

  

  顯然,atoi需要的事const char*類型,而我上面給的上string類型,所以就要 多加一個函數string.c_str()。string.c_str是Borland封裝的String類中的一個函數,它返回當前字符串的首字符地址。

  c_str函數的返回值是const char*,所以我們加上c_str()函數:

 

#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{
    string a="11",b="22";
    cout<<atoi(a.c_str())+atoi(b.c_str())<<endl;
    return 0;

}

  然后就成功了,有什么不妥的希望大家指出。

 

  

  


免責聲明!

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



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