Ver Mensaje Individual
  #24 (permalink)  
Antiguo 03/11/2015, 15:14
aguml
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Error al compilar en C++ (archivos)

getline (stream, buffer, delimitador);
El stream es de donde tiene que obtener la línea de texto. Por ejemplo un archivo, o cin.
Buffer es donde se guardará la línea de texto.
El delimitador es el carácter que se usará para que sepa donde parar. Normalmente es '\n' pero puedes usar el que quieras.
get se usa para obtener un solo carácter. getline se usa para obtener una cadena de caracteres.
Código C++:
Ver original
  1. ifstream archivo;
  2. string buffer;
  3. archivo.open ("texto.txt");
  4. getline (archivo,buffer,'\n');
  5. archivo.close ();
Cada vez que lees del archivo digamos que la posición se queda en la siguiente con lo que la segunda vez que llames a getline leerás la siguiente línea y así hasta el final del archivo.
Si quieres leer la segunda es tan sencillo como leer dos veces con getline. Hay formas mejores de hacerlo pero tendría que ser todas las líneas del mismo largo y te podrías desplazar con seekg y tellg que es más eficiente.
Imagina que tienes diez palabras de 5 caracteres todas. Además cada una tiene en tu caso el carácter de salto de línea. Lo primero seria posicionarse al final del archivo y obtener su posición y obtendrás 60. Si lo divides entre 6 te da que tienes 10 palabras. Ahora te posicionas al inicio del archivo y si te dijeran que vayas a la cuarta pues sabes que si envías la posición a 6*3 irías a la la cuarta palabra. ¿porque 3 y no cuatro? Porque la primera palabra estaría en la posición 0 y 6*0 es 0.

Última edición por aguml; 03/11/2015 a las 15:31