getNextCSV()
para extraer todos los campos CSV de un renglón.
Más...
#include <CSV_line.h>
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 |
getNextCSV()
para extraer todos los campos CSV de un renglón.
CSV_line
es un empaque C++ alrededor de la función getNextCSV()
.std::vector<std::string>
y por lo tanto tiene todas las operacioness e interfaces de un vector. Definición en la línea 36 del archivo CSV_line.h.
CSV_line::CSV_line | ( | ) | [inline] |
CSV_line::CSV_line | ( | const std::string & | str | ) | [inline] |
CSV_line::CSV_line | ( | const char * | pz_str, | |
size_t | n = 0 | |||
) | [inline] |
CSV_line::CSV_line | ( | const CSV_line & | ) | [inline] |
int CSV_line::setData | ( | const std::string & | str | ) |
Procesa el renglón str
para extraerle todos los campos CSV.
str
cuando un campo termina en "\n"
(line feed).str.length()
caracteres en str
[ incluso char(0)
]."\n"
(line feed) en un lugar incorrecto es interpretado como el como el separador de campo comma ","
."\n"
del último campo CSV."\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 ); }}
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.
n <= 0
calcula la longitud de pz_str
con strlen()
.n
caracteres en pz_str
[ incluso char(0)
]."\n"
(line feed) en un lugar incorrecto es interpretado como el como el separador de campo comma ","
."\n"
del último campo CSV."\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 ); }}
Definición en la línea 40 del archivo CSV_line.cpp.
friend class test_CSV [friend] |
Definición en la línea 44 del archivo CSV_line.h.