J'essaie de convertir un int
en char
en utilisant la valeur ASCII. Le int
est généré de manière aléatoire entre 97
et 122
(de a
à z
).Convertir int en char (valeur ASCII)
Comment puis-je générer un nombre aléatoire entre 97 et 122 et le convertir en un caractère?
J'ai cherché plusieurs réponses avant de poser ma question, mais aucune n'a résolu le problème ou était complètement liée à mon besoin. Même this ne fonctionnait pas.
Voici ce que j'essaie de faire: dans une boucle for, le programme génère un nombre aléatoire et le convertit en int
. Ceci est converti en sa valeur ASCII, puis placé dans un QString
. Lorsque la boucle for est terminée, j'envoie le QString
à line_edit
. En suivant le lien ci-dessus, j'ai obtenu un m
.
Voici mon code:
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;
}
}
Et bien que le nombre aléatoire est généré dans la boucle, il me donne toujours le même car.
liés/duper: http://stackoverflow.com/questions/19724346/generate-random-characters-in-c – NathanOliver
Je recherche une réponse à ma question avant, mais n'a pas trouvé celui-ci. Merci, je vais essayer. – Newokmyne
Ok, ça ne marche pas comme je le voulais. – Newokmyne