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.
1.5.8