comment mettre une chaîne en un tableau d'entiers c++
J'ai une chaîne qui contient ce que jamais l'utilisateur a entrée
string userstr = "";
cout << "Please enter a string ";
getline (cin, userstr);
La chaîne est ensuite stockée dans userstr, je veux la chaîne pour être stockées dans un tableau d'entiers où chaque personnage est un autre élément dans le tableau. J'ai créé un tableau dynamique comme suit:
int* myarray = new int[sizeof(userstr)];
Cependant comment puis-je obtenir ma chaîne dans ce tableau?
- -1 que voulez-vous dire.
sizeof(userstr)
n'est pas le même queuserstr.length()
ouuserstr.size()
.- double possible de C++ Longueur de la Chaîne?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez accéder à chaque élément de votre chaîne à l'aide de l'opérateur [], qui renvoie une référence à un char. Vous pouvez alors déduire la valeur int char '0' et vous obtiendrez la bonne int représentation.
La terminaison zéro n'a pas été ajouté à la matrice. Si vous avez besoin de vous devrait allouer le tableau ayant un élément de plus et placez la terminaison zéro vous-même.
myarray
d'une manière qui serait automatiquement de libérer sa mémoire quand elle est hors de portée. I. eint myarray[ userstr.size() ];
Vous pouvez tout simplement utiliser isstringstream pour convertir la chaîne en type int comme suit
maintenant, il a comme par magie devenir un int contenant tous les numéros de chaîne
Cependant, je ne vois pas pourquoi vous ne seriez pas cin comme un int en premier lieu??
Ici est une façon de le faire