J'essaie de répliquer la méthode std :: string :: insert. Voici mon code. Cependant, en utilisant le code, mon application se bloque parfois tout en déplaçant les caractères vers la droite. Est-ce que quelqu'un peut me signaler quel pourrait être le problème et comment le réparer?Réplication de std :: string :: insert (int pos, char ch)
Merci beaucoup d'avance!
Créer un [mcve] – user2079303
Si ceci est votre code actuel, votre Redimensionner devrait être 'redimensionner (m_length +1)', sinon vous êtes réellement m_length par 1 qui augmenterez explosera 'm_data [m_length] = '\ 0'; 'en plus de causer d'autres problèmes. Bien que j'ai besoin de voir «redimensionner» pour savoir à coup sûr ... – zzxyz
@ Zack Lee Cette boucle pour (int i = len-1; i> = 0; i--) {// déplacer les caractères vers la droite p [i + 1] = p [i]; } n'a pas de sens. Vous devez déplacer les éléments à partir de la position. C'est l'expression p + len qui peut être en dehors de la chaîne. –