elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Saltar de linea al leer de un fichero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Saltar de linea al leer de un fichero  (Leído 9,024 veces)
hari

Desconectado Desconectado

Mensajes: 51



Ver Perfil
Saltar de linea al leer de un fichero
« en: 13 Julio 2011, 01:24 am »

Buenas,
estaba haciendo un programa, que lea caracteres de un fichero y los escriba de otro de manera que solo lea la primera palabra de cada linea.

Código
  1. char buffer;
  2.  
  3. while(!fi.eof()){
  4. fi >> buffer;
  5. cout << buffer << endl;
  6. while(buffer != ' '){
  7. fo << buffer;
  8. fi >> buffer;
  9. cout << buffer << endl;
  10. }
  11. fo << endl;
  12.  
  13. }
  14.  
  15.  
  16.  

Lo que no se, es como hago para "saltar de linea" en el fichero de lecura.

Muchas gracias


En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: Saltar de linea al leer de un fichero
« Respuesta #1 en: 13 Julio 2011, 15:51 pm »

Puedes leer en una cadena el resto de lo que queda en la linea, con getline... o preferiblemente, usa el metodo ignore() de los istream...
http://www.cplusplus.com/reference/iostream/istream/ignore/

Saludos


En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Saltar de linea al leer de un fichero
« Respuesta #2 en: 13 Julio 2011, 19:46 pm »

Para procesar y descartar manualmente el espacio blanco puedes utilizar el manipulador "noskipws", por ejemplo:
Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::endl;
  4. using std::noskipws;
  5.  
  6. #include <fstream>
  7. using std::ifstream;
  8.  
  9. #include <cctype>
  10. using std::isspace;
  11.  
  12. int main()
  13. {
  14.   ifstream entrada("Entrada.txt");
  15.   entrada >> std::noskipws;
  16.  
  17.   bool descartar = false;
  18.   char ch;
  19.   while (entrada >> ch) {
  20.      if (!descartar) {
  21.         if (!isspace(ch) )
  22.            cout << ch;
  23.         else {
  24.            cout << endl;
  25.            descartar = true;
  26.         }
  27.      }
  28.  
  29.      if (ch == '\n')
  30.         descartar = false;
  31.   }
  32.   entrada.close();
  33.  
  34.   return 0;
  35. }


Una mejor opcion como ya indico .:BlackCoder:. es utilizar la funcion miembro "ignore", por ejemplo:
Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::endl;
  4.  
  5. #include <fstream>
  6. using std::ifstream;
  7.  
  8. #include <limits>
  9. using std::numeric_limits;
  10.  
  11. #include <string>
  12. using std::string;
  13.  
  14. int main()
  15. {
  16.   ifstream entrada("Entrada.txt");
  17.   string palabra;
  18.  
  19.   while (entrada >> palabra) {
  20.      cout << palabra << endl;
  21.      entrada.ignore(numeric_limits<int>::max(), '\n');
  22.   }
  23.   entrada.close();
  24.  
  25.   return 0;
  26. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
hari

Desconectado Desconectado

Mensajes: 51



Ver Perfil
Re: Saltar de linea al leer de un fichero
« Respuesta #3 en: 14 Julio 2011, 11:53 am »

gracias! creo que usare ignore().
Muchas gracias a los dos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
leer archivo de texto linea a linea
Programación Visual Basic
SheKeL_C$ 2 3,305 Último mensaje 18 Febrero 2006, 17:08 pm
por SheKeL_C$
VBScript leer un trozo de linea de texto de un fichero SOLUCIONADO
Scripting
tonilogar 5 12,171 Último mensaje 13 Junio 2011, 16:54 pm
por duckseven
Duda Leer Linea por Linea de Un textBox
Programación Visual Basic
NsTeam 2 6,437 Último mensaje 1 Diciembre 2010, 02:58 am
por Stelio Kontos
[Ayuda] Leer linea de un fichero en Vb.Net
.NET (C#, VB.NET, ASP)
TMarmol 4 3,497 Último mensaje 19 Octubre 2013, 17:12 pm
por TMarmol
Leer una línea específica de un fichero. c++
Programación C/C++
kur79 1 2,075 Último mensaje 15 Noviembre 2015, 22:00 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines