Código (cpp) [Seleccionar]
string reemplazar(string linea) {
//Nueva línea
string nLinea = "";
//Sustituyendo cada espacio en blanco con un guión bajo.
for(unsigned int h = 0; h < linea.length(); h++) {
if(linea[h] == ' ') {
nLinea[h] += '_';
} else {
nLinea[h] += linea[h];
}
}
return nLinea;
}
Código (cpp) [Seleccionar]
nLinea[h] += '_';
Ahí no le estás agregando el caracter a la cadena. Ahí le estás sumando '_' (su valor ascii) al caracter en la posición h (inexistente, de ahí el error).
Querrías poner:
Código (cpp) [Seleccionar]
nLinea += '_';