Portál AbcLinuxu, 13. května 2025 17:30

Dotaz: Locale a scanf

4.8.2006 14:14 Martin Gašparík | skóre: 3
Locale a scanf
Přečteno: 97×
Odpovědět | Admin
Zdravím.

Robim jeden program (c++) ktorý číta vystup z mplayeru a potrebujem načitať jednu hodntou typu float, načital som ju pomocou scanf("%f",f) a všetko bolo OK, ale akonáhle som tam dorobil GUI (GTK), prestalo to načitavať desatinnu časť a zistil som že je problem že mplayer použiva na oddelenie des. miest bodku a GTK čiarku, tak som ho zmenil Locale aby použival aj on bodku a pomohlo to. Chcel by som vediať či sa to neda nejaku urobiť aj bez zmeny Locale.

Ďakujem
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.8.2006 14:19 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Locale a scanf
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co změnit locale jen pro čísla (LC_NUMERIC)? Pokud to vadí, nezbývá, než locale měnit před a po scanf. Nebo hodit scanf do odděleného procesu s vlastním locale.

Nicméně zůstává ještě jedna možnost: scanf("%ld.%ld", &int1, &int2);.
4.8.2006 14:23 Martin Gašparík | skóre: 3
Rozbalit Rozbalit vše Re: Locale a scanf
Ta posledna možnosť ma tiež napadla, asi to urobim tak. Dik
4.8.2006 14:43 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Locale a scanf
resp. nastaviť si locale natvrdo vo vlastnom zdrojaku pred tým ako sa zavolá scanf().

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.