问题
我试着把std::string
的每个字母都赋值给std::vector<std::string>
。我没有使用std::vector<char>
,因为这些字符会混合,例如。3 -> 30。不幸的是,std::vector
中不是字母,而是ASCII码。有趣的是,当我尝试使用旧的C风格数组时,转换顺利完成,并且我在std::string
数组中有字符串。
编码
template <typename numTyp>
void numberAsRoman<numTyp>::convert()
{
numberAsArray = std::to_string(number); // numberAsArray is (int) member of class
// I convert it to std::string.
std::vector<std::string> vecOfNum; // Make vector
for(int i = 0; i < numberAsArray.length(); i++) // Loop to assign
{
vecOfNum.push_back(std::to_string(numberAsArray.at(i))); // I assign every letter
std::cout << vecOfNum.at(i) << " "; // to vector and print it.
}
std::cout << "\n\n\n";
}
执行时看到的
vector
正在打印51
和`50。我检查了一下,它符合ASCII码:
51 - 3
50 - 2
1条答案
按热度按时间zynd9foi1#
试试这个
std::string std::to_string(char c)
重载不存在。std::string to_string(int value);
的用法如下