• Lunes 23 de Diciembre de 2024, 13:48

Autor Tema:  Generar Un Archivo Csv  (Leído 1118 veces)

rvsso

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Generar Un Archivo Csv
« en: Viernes 7 de Marzo de 2008, 19:06 »
0
Estoy haciendo un programita, y me lo hace todo bien, y hace lo que quiero, pero resulta que por culpa de una linea en "blanco" de un .txt q genero, me da resutlados q de mas que digamos, y querria saber como evitarlo,xq he provado varias cosas y no me funciona ninguna....

Me repite lo q pone en email6.txt, y no deberia repetirlo :S

Código: Text
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <stdio.h>
  5.  
  6. using namespace std;
  7.  
  8. void old_main(string file);
  9.  
  10. int main()
  11. {
  12.     string file;
  13.     ifstream listadir;
  14.     //dir
  15.     system ("dir /b email*.txt > .\\lista.txt");
  16.    
  17.     //bucle sobre ficheros txt
  18.     listadir.open("lista.txt");
  19.    
  20.     while(!listadir.eof())
  21.     {
  22.         listadir >> file;
  23.         // if (file.length() > 3)  pero no me funciona :s
  24.         cout << "Procesando: " << file << " size: " << file.length() << endl;
  25.         old_main(file);
  26.        
  27.     }
  28.    
  29.     listadir.close ();
  30.     cout << "Datos guardados.\n\n";
  31.     system("pause");
  32. }
  33.    
  34. void old_main(string file)
  35. {
  36.     string palabra;
  37.     string nombregrupo, apellidos1, titulacion1, apellidos2, titulacion2, apellidos3, titulacion3, apellidos4, titulacion4, telcontacto, emailcontacto;
  38.    
  39.     ifstream f_mail;
  40.     ofstream f_csv;
  41.    
  42.     f_mail.open(file.c_str());
  43.    
  44.     while (!f_mail.eof())
  45.     {        
  46.        
  47.         f_csv.open("CSV.csv", ios::app);
  48.        
  49.         if (!f_mail)
  50.            cout << "Error abriendo el fichero" << endl;
  51.        
  52.         else
  53.         {
  54.        
  55.             while ( f_mail >> palabra )
  56.             {
  57.                    
  58.                 if (palabra == "nombregrupo:")
  59.                 {
  60.                     getline(f_mail, nombregrupo);
  61.                     nombregrupo.erase(0,1);
  62.                 }
  63.                 else if (palabra == "apellidos1:")
  64.                 {
  65.                     getline(f_mail, apellidos1);
  66.                     apellidos1.erase(0,1);
  67.                 }
  68.                 else if (palabra == "titulacion1:")
  69.                 {
  70.                     getline(f_mail, titulacion1);
  71.                     titulacion1.erase(0,1);
  72.                 }
  73.                 else if (palabra == "apellidos2:")
  74.                 {
  75.                     getline(f_mail, apellidos2);
  76.                     apellidos2.erase(0,1);
  77.                 }
  78.                 else if (palabra == "titulacion2:")
  79.                 {
  80.                     getline(f_mail, titulacion2);
  81.                     titulacion2.erase(0,1);
  82.                 }
  83.                 else if (palabra == "apellidos3:")
  84.                 {
  85.                     getline(f_mail, apellidos3);
  86.                     apellidos3.erase(0,1);
  87.                 }
  88.                 else if (palabra == "titulacion3:")
  89.                 {
  90.                     getline(f_mail, titulacion3);
  91.                     titulacion3.erase(0,1);
  92.                 }
  93.                 else if (palabra == "apellidos4:")
  94.                 {
  95.                     getline(f_mail, apellidos4);
  96.                     apellidos4.erase(0,1);
  97.                 }
  98.                 else if (palabra == "titulacion4:")
  99.                 {
  100.                     getline(f_mail, titulacion4);
  101.                     titulacion4.erase(0,1);
  102.                 }
  103.                 else if (palabra == "telcontacto:")
  104.                 {
  105.                     getline(f_mail, telcontacto);
  106.                     telcontacto.erase(0,1);
  107.                 }
  108.                 else if (palabra == "emailcontacto:")
  109.                 {
  110.                     getline(f_mail, emailcontacto);
  111.                     emailcontacto.erase(0,1);
  112.  
  113.                 }
  114.            
  115.             }
  116.            
  117.             f_csv << '"' << nombregrupo << '"' << "," << '"' << apellidos1 << '"' << "," << '"' << titulacion1 << '"' << "," << '"'
  118.                       << apellidos2 << '"' << "," << '"' << titulacion2 << '"' << "," << '"' << apellidos3 << '"' << "," << '"'
  119.                       << titulacion3 << '"' << "," << '"' << apellidos4 << '"' << "," << '"' << titulacion4 << '"' << "," << '"'
  120.                       << telcontacto << '"' << "," << '"' << emailcontacto << '"' << endl;
  121.            
  122.             f_csv << "\n";
  123.        
  124.        
  125.         }
  126.        
  127.        
  128.         f_mail.close ();      
  129.         f_csv.close ();        
  130.     }
  131.      
  132. }
  133.  
  134.  
  135.  


Voy a adjuntar los .txt q hacen falta por si alguien puede ayudarme...

Gracias!
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.