stringstream的用法 請教在C 里如何把string類型轉換成long型?
請教在C 里如何把string類型轉換成long型?首先,ATOI不是VC的庫函數,而是標準C的庫函數,如果這個函數不在C中使用,可以通過stringstream進行轉換,如下所示:#include
請教在C 里如何把string類型轉換成long型?
首先,ATOI不是VC的庫函數,而是標準C的庫函數,如果這個函數不在C中使用,可以通過stringstream進行轉換,如下所示:#include<ssstream>std::String str(“123”)long numstd::stringstream sstrsstr<<strssstr>>numsstr.clear清除()//必須在下次轉換之前調用此函數。如果您使用boost庫,它會更簡單:#include<boost/legal#鑄造hpp和GTP管柱str(“123”)long num=boost::詞法轉換<long>(str)當然,boost的內部實現也是以stringstream的方式進行轉換的
istringstream SS(s)
vector
int i
而(SS>>I)
{
v.pushu在后面有兩種方式將字符串轉換為int(i)
c 中string數據按空格分割轉到int數組?
C:1。在C標準庫中,使用ATOI:
#include<cstdlib>#include<string>std::string text=“152”int number=STD::ATOI(text)。C) _ustr())if(errno==ERANGE)//可能是STD::errno{//數字可能因為太大或太小而無法完全存儲}else if(errno==??)//可能是einval{//無法轉換為數字}
2。在C標準庫中,使用stringstream:(stringstream可用于各種數據類型之間的轉換)
#include<ssstream>#include<string>std::string Text=“152”int numberstd::stringstream SSSS<< Text//可以是其他數據類型SS>> number//string-> intif(!ss.很好()){//發生錯誤}SS<<編號//int->stringstring str=不銹鋼結構()如果(!ss.很好()){//發生錯誤}