1. ホーム
  2. c++

[解決済み] 文字列をASCIIに変換する

2022-03-06 11:33:30

質問

ちょっと試したいことがあって、以下のようなコードを作りました。これは、文字列の中の個々の文字を取り、その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) の代わりに

参考文献