我只是在尝试一些东西并制作了以下代码。它应该采用字符串中的每个单独的字母并打印其 ASCII 等效项。但是,当有空格时,它会停止转换。这是代码:

#include <iostream>
#include <string>
using namespace std;

void convertToASCII(string letter)
{
    for (int i = 0; i < letter.length(); i++)
    {
        char x = letter.at(i);
        cout << int(x) << endl;
    }
}

int main()
{
    string plainText;
    cout << "Enter text to convert to ASCII: ";
    cin >> plainText;
    convertToASCII(plainText);
    return 0;
}

关于为什么会发生这种情况的任何想法?

最佳答案

cin >> plainText 从输入中读取但不包括第一个空白字符。你可能想要 std::getline(cin, plainText) 代替。

引用:

  • std::getline
  • istream& operator>> (istream& is, string& str)
  • 关于c++ - 将字符串转换为 ASCII,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6709795/

    10-11 18:00