Dobry den,
potreboval by som v jazyku C nahradit pismena s diakritikou za pismena z dolnej polovice ASCII... ale neviem ako na to bohuzial. Na vstupe nacitavam po znakoch, ktore by som chcel hned spracuvat. Pretosa chcem ipytat, ci je na to nejaka funkcia, ale keby som si vypisal dve polia, jedno s diakritickymi znakmi a druhe s normalnymi znakmi a ako potom nahradzat jeden znak za dalsi?
dakujem.
s pozdravom,
HowIDied
Fórum › C / C++
Odstranenie diakritiky
Ja za sebe zel o takove bezne funkci nevim (leda nejaka "nadsenecka" sk-knihovna)
s tema polema to je 5,6 minut:
char *polecz,*pole; //zaplneni ="á..\0" ="a..\0";
char* znaky="ádfv..\0";int i;
for(j=0;j<strlen(znaky);j++)
{for(i=0;(i<strlen(pole))&&(polecz[i]!=znaky[j]);i++);
if (i<strlen(pole)) znaky[j]=pole[i];}
HowIDied
V PHP se často používá iconv[1], kdy se převede z daného kódování do us-ascii//TRANSLIT, čímž se člověk diakritiky zbaví. A jelikož libiconv je Céčkovská knihovna, určitě to půjde nějak ušít, aby se to takto dalo udělat i v C.
Tak pokud se podivame do APIn Microsoft nabizi treba:
IMultiLanguage2 Interface kde ma uzitecnou: ConvertString
Coz by snad mohla byt konecne lepsi verze WideChartoMultibyte (ale nemam zkusenosti)
http://msdn.microsoft.com/en-us/library/aa740779(VS.85).aspx
EDIT: narazil jsem i na ten iconv() u libc,glib (g_iconv) knihoven
http://www.gnu.org/manual/
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Odstránenie diakritiky — založil muhahaha
Odstránenie diakritiky — založil Hudacik
SQL CE Odstranenie diakritiky — založil Tomas
Odstránenie obrázku — založil Zavada
Odstranenie suboru — založil Tayson
Moderátoři diskuze