psla Opublikowano 2 Maja 2008 Zgłoś Opublikowano 2 Maja 2008 Męczę już kilka dni systemy kodowań, i obawiam się najgorszego :D Muszę napisać konwerter ISO-CP-UTF8, każdy w każdą stronę. Problem pojawia się, gdy chcę w jakikolwiek sposób przeczytać i przetworzyć utfa. MultiByteToWideChar w ANSI C nie istnieje wchar_t i wint_t zachowują się co najmniej dziwnie, ale na pewno nie dają mi możliwości choćby przeczytania UTFa wint_t wc;while (WEOF != (wc = getwc(ptr_in))) {printf("wc %lc\n", wc);}if (EILSEQ == errno) { printf("Napotkano zly znak.\n"); exit(1); }powoduje wypisanie błędu. próbowałem też czytać binarnie plik i potem cokolwiek z nim zrobić, ale nie bardzo skutkowało.. Chciałem uniknąć stosowania iconv. Czy zna ktoś może jakieś metody na czytanie UTFa i potem jego ewentualną konwersję? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
psla Opublikowano 3 Maja 2008 Zgłoś Opublikowano 3 Maja 2008 Problem rozwikłany ;) Można zrobić sztuczkę z "setlocale" i konwersją wide->multibyte->wide, natomiast niezupełnie to działa z CP-1250... Więc zostałem przy iconv :-) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...