Programación General > C/C++
Retornar cadena de texto en función
JrcsDev:
Buenas tardes amigos, estoy algo fuera de práctica en C++ (tampoco es que lo profundicé mucho en mi vida), pero estoy intentando retornar una cadena de texto (char * ) desde una función y me da error, algo así como fallo de segmentación... el código que estuve probando es este:
--- Código: C++ ---char* readStr(const char* txt){ char *s; cout << txt << ": "; cin >> s; return s;}
--- Código: C++ ---texto=readStr("Ingrese su nombre");
Alguna idea? se agradece cualquier ayuda... Saludos...
punteroNULO:
El problema es que la variable s es un puntero que no tiene reservada una posición de memoria, sino que apunta a cualquier lugar (probablemente 0) provocando ese fallo de segmentación cuando intentas escribir en ella.
Inicializa con el operador new la variable.
LeGatoRojo:
Declara s como arreglo o asignale memoria, con eso se resuelve el problema
JrcsDev:
ok, gracias por sus respuestas... googlearé sus recomendaciones a ver...
m0skit0:
Si estás usando C++, usa la clase string, es mucho más cómoda que char*.
--- Código: C ---string readStr(const string txt){ string s; cout << txt << ": "; cin >> s; return s;}
Navegación
[#] Página Siguiente
Ir a la versión completa