1. std::stoi
stoi 用來轉換 string 的,作用是將字串(string)轉化為 int 型態。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "1010";
int number = std::stoi(str);
printf("Result: %d\n",number);
}
2. std::atoi
這是 C 語言中把字符串轉換成整型數的一個函數。atoi 轉化的是 char[]
,因此 c_str()
的作用是將 string*
轉化為 const char*
。
#include <iostream>
#include <string>
using namespace std;
int main()
{
std::string str = "1010";
int number = std::atoi(str.c_str());
printf("Result: %d\n",number);
}
3. string streams
此方法執行速度慢,另外要引入 sstream
庫。
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string str = "1010";
int number;
std::istringstream(str) >> number;
printf("Result: %d\n",number);
}
4. sscanf()
透過 sscanf 讀取輸入一個字符串格式化。
#include <iostream>
#include <string>
using namespace std;
int main()
{
std::string str = "1010";
int number;
if (sscanf(str.c_str(), "%d", &number) == 1)
{
printf("Result: %d\n",number);
}
}
後記
在 C++ 語言中可以很方便的透過 string 建立字串。若要顯示內容在 printf 中必須要加上 c_str()
給予字元指標。
#include <iostream>
#include <string>
using namespace std;
int main()
{
std::string str = "1010 Blog";
printf("%s\n",str.c_str()); // 方法一
cout << str << endl; // 方法二
}
Reference
鼓勵持續創作,支持化讚為賞!透過下方的 Like 拍手👏,讓創作者獲得額外收入~
版主10在2020年首次開設YouTube頻道,嘗試拍攝程式教學。想要了解更多的朋友歡迎關注我的頻道,您的訂閱就是最大的支持~如果想學其他什麼內容也歡迎許願XD
https://www.youtube.com/channel/UCSNPCGvMYEV-yIXAVt3FA5A
https://www.youtube.com/channel/UCSNPCGvMYEV-yIXAVt3FA5A