C++ Bc. 22: Porovnání verzí
m +kategorie programovani |
mBez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
;CSV formát - zápis | |||
CSV formát ([http://en.wikipedia.org/wiki/Comma-separated_values Comma-separated values]) se používá pro zápis tabulek, kde každý řádek | CSV formát ([http://en.wikipedia.org/wiki/Comma-separated_values Comma-separated values]) se používá pro zápis tabulek, kde každý řádek | ||
tabulky je zapsán jako jeden řádek textového souboru (ukončený znakem '\n') a jednotlivé hodnoty v řádku jsou oddělovány znakem čárka (,). Kromě znaku čárka se jako oddělovač někdy používá také znak středník (;). | tabulky je zapsán jako jeden řádek textového souboru (ukončený znakem '\n') a jednotlivé hodnoty v řádku jsou oddělovány znakem čárka (,). Kromě znaku čárka se jako oddělovač někdy používá také znak středník (;). Středník místo čárky používá například tabulkový procesor Excel. | ||
Zjednodušená pravidla formátu CSV jsou: | Zjednodušená pravidla formátu CSV jsou: | ||
# Každý záznam je umístěn v samostatném řádku, jednotlivá pole oddělena čárkou, za posledním polem se čárka neuvádí. Počet polí je v jednom souboru vždy konstatní. | |||
aaa,bbb,ccc | aaa,bbb,ccc | ||
zzz,yyy,xxx | zzz,yyy,xxx | ||
# Každé pole může být volitelně uzavřeno do uvozovek | |||
"aaa",bbb,"ccc" | "aaa",bbb,"ccc" | ||
zzz,yyy,"xxx" | zzz,yyy,"xxx" | ||
# Jestliže pole obsahuje bílé znaky, znak uvozovky nebo znak čárka, musí být uzavřeno do uvozovek. Znaky uvozovky v poli se zdvojují | |||
"aaa","b""bb","cc,c" | "aaa","b""bb","cc,c" |
Verze z 18. 10. 2006, 13:37
- CSV formát - zápis
CSV formát (Comma-separated values) se používá pro zápis tabulek, kde každý řádek tabulky je zapsán jako jeden řádek textového souboru (ukončený znakem '\n') a jednotlivé hodnoty v řádku jsou oddělovány znakem čárka (,). Kromě znaku čárka se jako oddělovač někdy používá také znak středník (;). Středník místo čárky používá například tabulkový procesor Excel.
Zjednodušená pravidla formátu CSV jsou:
- Každý záznam je umístěn v samostatném řádku, jednotlivá pole oddělena čárkou, za posledním polem se čárka neuvádí. Počet polí je v jednom souboru vždy konstatní.
aaa,bbb,ccc zzz,yyy,xxx
- Každé pole může být volitelně uzavřeno do uvozovek
"aaa",bbb,"ccc" zzz,yyy,"xxx"
- Jestliže pole obsahuje bílé znaky, znak uvozovky nebo znak čárka, musí být uzavřeno do uvozovek. Znaky uvozovky v poli se zdvojují
"aaa","b""bb","cc,c"
Zadání
Napište funkci, která ze zadaného seznamu polí vytvoří výstupní záznam ve formátu CSV
std::string CSV_zapis(const std::vector<std::string>& pole, char oddelovac=',');
Správnou činnost funkce ověřte na demonstračním programu.
Příklad - vstup
1 | 101MA1G | 3+3 | 8 | z,zk | *p | Matematika 1 | Doc. Kočandrlová |
1 | 151TGE1 | 3+3 | 6 | z,zk | p | Technická geodézie 1 | Ing. Ratiborský |
1 | 153OSYL | 1+2 | 5 | kz | p | Operační systém Linux | Ing. Pytel |
Příklad - výstup
1,101MA1G,3+3,8,"z,zk",*p,"Matematika 1","Doc. Kočandrlová" 1,151TGE1,3+3,6,"z,zk",p,"Technická geodézie 1","Ing. Ratiborský" 1,153OSYL,1+2,5,kz,p,"Operační systém Linux","Ing. Pytel"