Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: pertenezcoaselg en 10 Junio 2015, 03:58 am



Título: Duda acerca la sobrecarga del getline
Publicado por: pertenezcoaselg en 10 Junio 2015, 03:58 am
Estoy haciendo mi propia biblioteca string, entonces estoy intentando entender como hacer el getline y como hacer el llamado en el programa prueba, hasta ahora lo había hecho así en la clase:

Código:
void CCadena::getline(CCadena& c, int tamanio){
   delete [] this->p;
   this->p = new char[tamanio];
   std::cin.getline(this->p,tamanio);
}

Pero al hacer la llamada la hago así: cadena.getline(cadena,140);

Así que básicamente no le encontré sentido a lo que hago...

Creo que la idea básica de la sobrecarga es intentar leer una línea completa llamando a la función como se hace para una cadena común, es decir: "std::cin.getline(string, 140);"

Alguien, sabe si es posible? y si lo es... puede explicarme un poco como?

En realidad estoy un poco desesperada ya, he intentado un montón de cosas y no sé qué hacer.

Les agradezco de antemano


Título: Re: Duda acerca la sobrecarga del getline
Publicado por: user-marcos en 10 Junio 2015, 09:44 am
Esta es una manera muy sencilla:
Código
  1. string getline (int size)
  2. {
  3.  char cadena[size];
  4.  cin >> cadena;
  5.  string s(cadena);
  6.  return s;
  7. }
  8.