我正在编写一个函数来替换一行中带有相应数字加上“,”的字母。我目前的代码是:
std::string letterToNumber(std::string message) {
std::string::iterator iter;
toUpper(message);
for (iter = message.begin(); iter != message.end(); ++iter) {
for (int i = 0; i < alphabetSize; ++i) {
if (*iter == alphabet[i]) {
// Problem here
}
}
}
return message;
}
(toUpper是我自己的功能)。我不太确定如何将字符串中的当前字母分配给数字+逗号。起初我尝试只为特定的字母分配一个数字,但我意识到我需要一个分隔符,所以我决定使用一个逗号。
答案 0 :(得分:1)
我想你想要达到的目的是:
std::string letterToNumber(std::string input) {
toUpper(input);
std::stringstream output;
std::string::iterator it;
for (it = input.begin(); it != input.end(); ++it) {
if (input.begin() != it) {
output << ",";
}
int letterIndex = static_cast<int>(*it) - 'A';
output << letterIndex;
}
return output.str();
}