-3

文字列を ASCII int に変換する関数を既に持っていますが、その逆を行うにはどうすればよいですか? ありがとう

4

6 に答える 6

2

あなたの質問は明確ではありません。あなたのASCII int(あなたの言葉で)がvector<int>

以下の関数はそれを文字列に変換します:

std::string
AsciiIntToString ( std::vector<int> const& ascii_ints ) 
{
    std:: string ret_val;
    std::vector<int>:: const_iterator it = ascii_ints. begin ();
    for ( ; it != ascii_ints. end (); ++it ) {
        if ( *it < 0 || *it > 255) throw std::exception ("Invalid ASCII code");
        ret_val += static_cast<char>(*it);
    }
    return ret_val;
}
于 2013-11-08T18:40:02.943 に答える
0

新語「ASCII 'int'」の使用は、ASCII コードへの不正確な参照でしたが、不明確ではありませんでした。すべての ASCII コードが整数と同様に整数であるため、参照は明確でした。

元の投稿者は、おそらく関数を使用して、ASCII 文字を 10 進数に変換できました。

MySQL では、SELECT ASCII('A') [FROM DUAL]; となり、65 が返されます。

方向を逆にするには、char() 関数を使用します。 SELECT CHAR(65) [FROM DUAL];

おそらく、これはあなたにとって良い回避策になるでしょう。

非 GUI クライアントの使用をお勧めします。

于 2015-06-07T22:17:53.167 に答える
0

これははるかに簡単な方法です!

void convertToString()
{
    char redo;
    int letter;
    int length;

    do{
        cout<< "How long is your word \n";
        cin >> length;
        cout << "Type in the letter values \n";

        for (int x = 0; x < length; x++)
        {
            cin >> letter;
            cout << char (letter);
        }

        cout << "\n To enter another word hit R" << endl;
        cin >> redo;
    } while (redo == 'R');    
}
于 2014-10-09T03:55:56.960 に答える