abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 17:02 | Pozvánky
Přijďte si popovídat o open source obecně a openSUSE konkrétně s dalšími uživateli a vývojáři. Oslava nového vydání openSUSE Leap se uskuteční 16. prosince od 17:00 v nových prostorách firmy SUSE v Praze. K dispozici bude nějaké občerstvení a DVD pro ty, kdo je sbírají nebo ještě mají mechaniku. Po párty v kanceláři se bude pokračovat v některé z hospod v okolí.
Miška | Komentářů: 0
dnes 14:55 | Zajímavý software

Byla vydána verze Alpha 1.0 otevřeného operačního systému pro chytré hodinky AsteroidOS. Podporovány jsou hodinky LG G Watch, LG G Watch Urbane, Asus ZenWatch 2 a Sony Smartwatch 3. Ukázka ovládání hodinek na YouTube. Jaroslav Řezník přednášel o AsteroidOS na chytrých hodinkách (videozáznam) na letošní konferenci OpenAlt.

Ladislav Hagara | Komentářů: 0
dnes 13:30 | Zajímavý software

Byly uvolněny zdrojové kódy známé rogue-like hry DoomRL. Počátky hry jsou v roce 2002. Je napsána ve FreePascalu a zdrojový kód je nyní k dispozici na GitHubu pod licencí GNU GPL 2.0. Autor pracuje na nové hře Jupiter Hell, která je moderním nástupcem DoomRL a na jejíž vývoj shání peníze prostřednictvím Kickstarteru.

Blaazen | Komentářů: 0
dnes 13:15 | Pozvánky

Přijďte s námi oslavit vydání Fedory 25. Na programu budou přednášky o novinkách, diskuse, neřízený networking atd. Release Party se bude konat 16. prosince v prostorách společnosti Etnetera. Na party budou volně k dispozici také propagační materiály, nová DVD s Fedorou 25 a samozřejmě občerstvení. Přednášky budou probíhat v češtině. Pro více informací se můžete podívat na web MojeFedora.cz. Jen připomínám, že tentokrát jsme zavedli

… více »
frantisekz | Komentářů: 0
včera 16:38 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 5. a 6. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu. Celkově bylo zpracováno 65 hodin z 89 přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
včera 11:30 | Komunita

Bylo oznámeno, že bude proveden bezpečnostní audit zdrojových kódů open source softwaru pro implementaci virtuálních privátních sítí OpenVPN. Audit provede Matthew D. Green (blog), uznávaný kryptolog a profesor na Univerzitě Johnse Hopkinse. Auditována bude verze 2.4 (aktuálně RC 1, stabilní verze je 2.3.14). Audit bude financován společností Private Internet Access [reddit].

Ladislav Hagara | Komentářů: 4
včera 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

Ladislav Hagara | Komentářů: 0
včera 01:02 | Zajímavý článek

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 1
8.12. 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
8.12. 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 808 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Jazyk C - vytvoření souboru ve správném kódování

9.12.2011 12:36 Matěj Vaňátko | skóre: 19 | Brno
Jazyk C - vytvoření souboru ve správném kódování
Přečteno: 613×
Zdravím vás všechny.

Chci se zeptat. Je možné nějak v jazyce C vytvořit soubor, který bude mít nastaveno na nějaké mnou zadané kódování ? Zkoušel jsem to pomocí setlocale, ale fopen stejně vytvoří ASCII soubor, i když chci UTF-8.
Jde to nějak vyřešit ??

Díky moc za pomoc

Řešení dotazu:


Odpovědi

9.12.2011 12:48 Kit
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Funkce fopen vytvoří soubor, tedy posloupnost bytů. Kódování bude takové, jaké do něj uložíš. Možná je budeš muset před uložením konvertovat.
9.12.2011 13:20 Matěj Vaňátko | skóre: 19 | Brno
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Jo, dobrý, děkuju ;-)

A má jazyk C nějakou knihovní funkci na překódování souboru ?
AraxoN avatar 9.12.2011 13:52 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
libiconv, ale glibc iconv... tá prvá mi príde jednoduchšia, ale príliš som sa v tom nevŕtal
A fine is a tax for doing wrong. A tax is a fine for doing well.
9.12.2011 13:55 l4m4
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Funkce rodiny iconv (iconv_open, iconv, inconv_close) jsou na POSIXových systémech standardně. Na běžné věci postačují. Samozřejmě konvertují data v paměti.

Kromě toho existují další knihovny, jako třeba librecode.
9.12.2011 16:33 Matěj Vaňátko | skóre: 19 | Brno
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Díky, mrknu na to.

Jedná se teda o projekt do školy. A učí nás, abychom tvořili přenositelné programy. Existuje tedy něco, co bude fungovat jak na Windows tak Linuxu, tak *BSD ?
9.12.2011 17:26 Sten
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
iconv je na Linuxu i BSD. Windows používá vlastní funkce (WideCharToMultiByte ap.). Odlišit tyto systémy lze pomocí #ifdef __unix__, resp. #ifdef _WIN32.
9.12.2011 21:14 Matěj Vaňátko | skóre: 19 | Brno
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Díky Stene. Mrknu na to ;-)
9.12.2011 23:07 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
WideCharToMultiByte() bych podle názvu odhadoval spíš na obdobu wcstombs() a spol. než na analogii funkcí z iconv.
9.12.2011 23:21 l4m4
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Každopádně existuje knihovna win-iconv, která implementuje standardní iconv rozhraní nad těmi Win32 funkcemi. Reálné programy ji používají, takže to je snad dostatečně přenositelné i pro školní projekt...
10.12.2011 11:37 Sten
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
A co se mrknout do dokumentace (wcstombs, WideCharToMultiByte)? WideCharToMultiByte má navíc parametr, kde se specifikuje kódování.
10.12.2011 22:36 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Což je celkem nepodstatný detail, na tom, jestli je kódování určeno locale nebo jestli ho zadáváte explicitně jako parametr, až tak moc nezáleží. To podstatné je, že obě funkce slouží ke konverzi mezi multibyte a widechar řetězci, zatímco iconv překládá (multibyte) řetězce mezi různými kódováními.
11.12.2011 11:23 stefan
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Vhodnou kombinaciou MultiByteToWideChar a WideChatToMultiByte mozete dosiahnut zelanu konverziu. Je to trochu nepohodlne, lebo ked si nie ste isty, kolko pamati alokovat, musite kazdu funkciu zavolat dva krat. Takze budete potrebovat nejaky wrapper, alebo rovno nieco hotove.
11.12.2011 12:13 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Vhodnou kombinaciou MultiByteToWideChar a WideChatToMultiByte mozete dosiahnut zelanu konverziu

Jistě. A přesně totéž lze říct i o mbstowcs() a wcstombs(), protože ty funkce slouží ke stejnému účelu. Oproti tomu iconv sice s kódováními pracuje také, ale slouží k něčemu jinému; proto také vůbec neobsahuje podporu widechar řetězců.

9.12.2011 17:50 ET
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
fyi: existuje BOM, kterym se da naznacit kodovani
9.12.2011 18:21 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Přidávání BOM do UTF-8 textových souborů je projev ignorance a zlo, které je třeba vymýtit.
9.12.2011 23:23 l4m4
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
BOM! je zvuk který vydává moje pěst při setkání s obličejem člověka snažícího se nacpat byte order mark do textových souborů...
10.12.2011 09:22 rastos | skóre: 60 | blog: rastos
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Len drobná poznámka: čínsky zákazník od vás nekúpi software, ktorý vo svojich textových súboroch nemá BOM. Teda za predpokladu, že chce dodržať čínske zákony. Čo spravidla chce. A to nehovorím len o súboroch, ktoré sú výstupom toho software-u.
10.12.2011 10:28 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Len drobná poznámka: čínsky zákazník od vás nekúpi software, ktorý vo svojich textových súboroch nemá BOM.

Tak, jak jste to napsal, to není pravda zcela určitě.

10.12.2011 11:03 rastos | skóre: 60 | blog: rastos
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Asi som mal povedať, že hovorím o firemnom zákazníkovi. Skrátka mám priamu skúsenosť s tým, že firma musela investovať veľa človekohodín do toho, aby svoju suitu aplikácií upravila tak, aby každý textový súbor mal BOM. Na túto požiadavku firma narazila, keď chcela predávať SW v Číne a vraj vychádza z čínskej legislatívy. Tá možno nie je taká kategorická, ale je v tomto smere dostatočne komplikovaná a nejednoznačná, aby predávajúci bol donútený BOM implementovať.

Ale netrvám na tom, aby si mi veril. ;-)
10.12.2011 11:41 l4m4
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Budu-li ti věřit, nemůže se v Číně používat Linux a nejspíš ani žádný jiný Unix, a tudíž je pro tento portál Čína irelevantní ;)

Navíc bavíme se o BOM v UTF-8, nebo nějakých těch jejich vícebajtových kódováních?
10.12.2011 13:39 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
Asi som mal povedať, že hovorím o firemnom zákazníkovi.

Já také mluvím o firemních zákaznících. Firma, kde pracuji, jich má docela dost (i dost velkých) a má i pobočku v Číně. S požadavkem, že by "v každém textovém souboru byl BOM" jsem se nikdy nesetkal a přinejmenším výrazná většina jich tento požadavek nesplňuje. V mnoha případech (třeba u systémových konfiguračních souborů nebo shellových skriptů) by taková absurdita navíc vedla k nefunkčnosti.

10.12.2011 11:41 Sten
Rozbalit Rozbalit vše Re: Jazyk C - vytvoření souboru ve správném kódování
AFAIK to platí jenom pro UTF-16, kde Unicode Consortium BOM doporučuje. Čína ale preferuje UTF-16 nebo GB 18030, protože jsou potom texty kratší.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.