寫程序需要將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; }
然后就成功了,有什么不妥的希望大家指出。