Estoy tratando de escribir algo que reemplace todos los espacios en una cadena con un guión bajo.Reemplazar el espacio con un guión bajo
Lo que tengo hasta ahora.
string space2underscore(string text)
{
for(int i = 0; i < text.length(); i++)
{
if(text[i] == ' ')
text[i] = '_';
}
return text;
}
En general esto funcionaría, si estuviera haciendo algo así.
string word = "hello stackoverflow";
word = space2underscore(word);
cout << word;
Eso produciría "hello_stackoverflow", que es justo lo que quiero.
Sin embargo, si tuviera que hacer algo como
string word;
cin >> word;
word = space2underscore(word);
cout << word;
Me acaba de obtener la primera palabra, "hola".
¿Alguien sabe una solución para esto?
Lamento ser pedante, pero estás confundiendo si usas 'std ::' o no. (Aunque técnicamente, su código funciona con 'using std :: cout;' en la parte superior) –
@ Platinum Azure: tiene razón, personalmente me gusta usar un 'std ::' explícito, pero copié parte del código de OP en mi ejemplo Lo limpiaré. –
¡Gracias señor! Mi programa funciona bien ahora :) –