Referencia de la Clase CSV_line

Usa getNextCSV() para extraer todos los campos CSV de un renglón. Más...

#include <CSV_line.h>

Lista de todos los miembros.

Métodos públicos

 CSV_line ()
 Constructor.
 CSV_line (const std::string &str)
 Constructor a partir de la hilera str.
 CSV_line (const char *pz_str, size_t n=0)
 Constructor a partir de la hilera pz_str.
 CSV_line (const CSV_line &)
 Constructor de copia.
void setData (const std::string &str)
 Procesa el renglón str para extraerle todos los campos CSV.
void setData (const char *pz_str, size_t n=0)
 Procesa el renglón pz_str para extraerle todos los campos CSV.

Amigas

class test_CSV


Descripción detallada

Usa getNextCSV() para extraer todos los campos CSV de un renglón.

Definición en la línea 36 del archivo CSV_line.h.


Documentación del constructor y destructor

CSV_line::CSV_line (  )  [inline]

Constructor.

Definición en la línea 55 del archivo CSV_line.h.

CSV_line::CSV_line ( const std::string &  str  )  [inline]

Constructor a partir de la hilera str.

Definición en la línea 65 del archivo CSV_line.h.

CSV_line::CSV_line ( const char *  pz_str,
size_t  n = 0 
) [inline]

Constructor a partir de la hilera pz_str.

Definición en la línea 72 del archivo CSV_line.h.

CSV_line::CSV_line ( const CSV_line  )  [inline]

Constructor de copia.

Definición en la línea 60 del archivo CSV_line.h.


Documentación de las funciones miembro

int CSV_line::setData ( const std::string &  str  ) 

Procesa el renglón str para extraerle todos los campos CSV.

  • Detiene el análisis de str cuando un campo termina en "\n" (line feed).
  • Procesa hasta str.length() caracteres en str [ incluso char(0) ].
  • Si aparece un caracter "\n" (line feed) en un lugar incorrecto es interpretado como el como el separador de campo comma ",".
  • Remueve el separador "\n" del último campo CSV.
  • Remueve del último campo CSV el marcador "\r\n" de fin de renglón.

    {{ // test::setData()
        CSV_line csv; //  012 3 ...4. .......5.
        //            // [,,a,b,"c,d","e f ""g"\r\n]
        csv.setData( ",,a,b,\"c,d\",\"e f \"\"g\"\r\n" );
        assertTrue( csv[0] == ""        ); // []
        assertTrue( csv[1] == ""        ); // []
        assertTrue( csv[2] == "a"       ); // [a]
        assertTrue( csv[3] == "b"       ); // [b]
        assertTrue( csv[4] == "c,d"     ); // [c,d]
        assertTrue( csv[5] == "e f \"g" ); // [e f "g]
        assertTrue( csv.size() == 6 );
    }}
Ver también:
test_CSV::test_setData()

Definición en la línea 23 del archivo CSV_line.cpp.

void CSV_line::setData ( const char *  pz_str,
size_t  n = 0 
)

Procesa el renglón pz_str para extraerle todos los campos CSV.

  • Si n <= 0 calcula la longitud de pz_str con strlen().
  • Procesa hasta n caracteres en pz_str [ incluso char(0) ].
  • Si aparece un caracter "\n" (line feed) en un lugar incorrecto es interpretado como el como el separador de campo comma ",".
  • Remueve el separador "\n" del último campo CSV.
  • Remueve del último campo CSV el marcador "\r\n" de fin de renglón.

    {{ // test::setData()
        CSV_line csv; //  012 3 ...4. .......5.
        //            // [,,a,b,"c,d","e f ""g"\r\n]
        csv.setData( ",,a,b,\"c,d\",\"e f \"\"g\"\r\n" );
        assertTrue( csv[0] == ""        ); // []
        assertTrue( csv[1] == ""        ); // []
        assertTrue( csv[2] == "a"       ); // [a]
        assertTrue( csv[3] == "b"       ); // [b]
        assertTrue( csv[4] == "c,d"     ); // [c,d]
        assertTrue( csv[5] == "e f \"g" ); // [e f "g]
        assertTrue( csv.size() == 6 );
    }}
Ver también:
test_CSV::test_setData()

Definición en la línea 40 del archivo CSV_line.cpp.


Documentación de las funciones relacionadas y clases amigas

friend class test_CSV [friend]

Definición en la línea 44 del archivo CSV_line.h.


La documentación para esta clase fue generada a partir de los siguientes ficheros:

Generado el Wed May 27 11:04:47 2009 para CSV: por  doxygen 1.5.8