我已經使用數字和字符填充了一個字符串向量(*,+,-,/
)。我想將每個數字和字符分配給兩個新的矢量,以及矢量和一個char
矢量。有沒有辦法將字符串轉換爲所需的數據類型?將字符串轉換爲char和int數據類型
2
A
回答
2
您可以在<sstream>
頭使用字符串流。
string myString = "123";
stringstream sStream(myString);
int convertedInt;
sStream >> convertedInt.
0
附上<sstream>
頭,你可以做這樣的事情:
std::vector<std::string> stringVector = /* get data from somewhere */
std::vector<int> intVector;
std::vector<char> charVector;
for (std::vector<std::string>::const_iterator it = stringVector.begin(); it != stringVector.end(); it++)
{
if (it->length() == 0)
continue; // ignore any empty strings
int intValue;
std::istingstream ss(*it);
if (ss >> someValue) // try to parse string as integer
intVector.push_back(someValue); // int parsed successfully
else
charVector.pushBack((*it)[0]);
}
這是假設任何一個整數應推入焦炭載體,而不是(這樣,234
,100000
無法解析和-34
將投入intVector
和/
,+
等將投入charVector
)。只有非整數值的第一個字符推,所以如果你有*hello
或*123
,只有*
將投入的charVector
。
如果您使用的是C++ 11,則可以將std::vector<std::string>::const_iterator
與auto
對換,使其看起來更漂亮一些。
相關問題
- 1. 將int和char轉換爲字符串
- 2. 將字符串類型轉換爲int
- 3. 轉換類型爲int(C :: *)(INT,CHAR)爲int類型(INT,CHAR)
- 4. 將char字符串轉換爲其基礎數據類型
- 5. 如何將字符串轉換爲Char(20)sql數據類型
- 6. 將MYSQL_TIME數據類型轉換爲char *或C++字符串
- 7. INT類型轉換爲char *
- 8. INT爲CHAR類型轉換
- 9. 如何將int類型的unsigned char字符串轉換爲python中的int
- 10. 將字符串轉換爲int,int轉換爲字符串
- 11. 如何將字符串數字轉換爲int然後char?
- 12. 將char字符串轉換爲字符
- 13. 使用char數組將字符串轉換爲int
- 14. 將var char值'10,11,12,60,61,111,143,144'轉換爲數據類型int
- 15. 字符串轉換爲int數據類型在C#.NET
- 16. 錯誤轉換不同的數據類型(int和字符串)
- 17. 無法將類型'int'隱式轉換爲'字符串'C#類
- 18. MATLAB:從char數據類型轉換爲符號數據類型
- 19. 將字符串轉換爲int數組
- 20. 將int轉換爲字符串數組
- 21. 將字符串轉換爲int數組
- 22. 不能將類型'字符串'隱式轉換爲'char'
- 23. 將字符串轉換爲使用Arduino類型的const char *
- 24. 將字符串轉換爲R中的數字數據類型
- 25. 類型轉換字符串INT
- 26. C#類型轉換(字符串轉換爲int)
- 27. 如何將int轉換爲char字符串
- 28. 將unsigned int +字符串轉換爲unsigned char向量
- 29. 將int轉換爲字符串/ char C++/Arduino
- 30. 如何將int轉換爲字符串(char *)C