int
をASCII値を使用してchar
に変換しようとしています。 int
は、97
と122
(a
からz
まで)の間でランダムに生成されます。intをcharに変換する(ASCII値)
97から122までの乱数を生成してcharに変換するにはどうすればよいですか?
私は質問をする前に多くの答えを探しましたが、問題を解決しなかったか、私の必要性に完全に関連していました。たとえthisでも動作しませんでした。
これは私がやろうとしていることです:forループでは、プログラムは乱数を生成し、int
に変換します。これはASCII値に変換され、QString
に配置されます。 forループが終了すると、QString
をline_edit
に送信します。
上記のリンクをたどって、私はm
しか得ていません。ここで
は私のコードです:
QString str;
int maxlenght = 16; //the user will be able to set himself the maxlenght
for (int i =0; i<maxlenght; i++)
{
int random = 97 + (rand() % (int)122-97+1);
char letter = (char)random;
if(i > 0)
{
str[i] = letter;
}
}
そして、乱数をループ内で生成されるが、それはいつも私に同じ文字を提供します。
/関連デュープ:http://stackoverflow.com/questions/19724346/generate-random-characters-in-c – NathanOliver
私は前に私の質問への答えを検索するが、この1が見つかりませんでした。ありがとう、それを試してみましょう。 – Newokmyne
私が望むようにうまく動作しません。 – Newokmyne