SocrateZ |
» 2015-01-05 14:31:16 Poza tym to będzie trochę ciężko napisać. |
Nie wiem co ty tu w tym trudnego widzisz. |
|
Krump Temat założony przez niniejszego użytkownika |
» 2015-01-05 15:58:17 Kiepska znajomość C, kiepska obślugę C++ ze względu na obsługę pliku i systemu, co za tym idzie operacje na char to nie moja bajka. Wole na stringach są bardziej intuicyjne (mają wiele przydatnych opcji w klasie). Jak nie ma innego sposobu to się namęczę, dużo czasu zmarnuję, ale podszkolę się w tym i to napiszę, ale jak da się tego uniknąć. Mam prace, studia i spore obowiązki domowe, więc staram sie jak najbardziej sobie ułatwić. |
|
Krump Temat założony przez niniejszego użytkownika |
» 2015-01-06 18:06:29 To jak, ktoś zna inną metodę? |
|
Monika90 |
» 2015-01-06 21:02:33 Jeżeli się nie mylę, to w Linuksie UTF-8 po prostu działa. |
Potwierdzam. Właśnie to sprawdziłem. Tylko że te funkcje windowsowskie do niczego się nie przydadzą.
|
U mnie te funkcje działają. To znaczy w Windows, a w Linuksie sam napisałeś, że nie są potrzebne. Czyli w Windows można konwertować z UTF-8 do CP-1250 za pomocą MultiByteToWideChar/WideCharToMultiByte, a w Linuksie zostawić UTF-8 bez zmian. |
|
SocrateZ |
» 2015-01-06 23:06:30 Czyli w Windows można konwertować z UTF-8 do CP-1250 za pomocą MultiByteToWideChar/WideCharToMultiByte, a w Linuksie zostawić UTF-8 bez zmian. |
Owszem. Problem w tym że wczytując plik fgetc napotkałem na problem funkcji rename, która zmieniała nazwę na szlaczki (stąd powyższe funkcje add_utf8_to_ansi_string). Funkcja MultiByteToWideChar za dużo dać nie może, bo konwertuje do LPWSTR (wchar_t), a funkcja rename przyjmuje tablicę znaków char. Być może problem rozwiązałoby wczytywanie pliku funkcją fgetwc i użycie funkcji WideCharToMultiByte, ale zapewnić tego nie mogę. |
|
Monika90 |
» 2015-01-06 23:38:38 Chodziło mi o konwersję w dwóch etapach MultiByteToWideChar(CP_UTF8, ...); WideCharToMultiByte(CP_ACP, ...);
|
|
SocrateZ |
» 2015-01-07 07:17:06 Na to bym nie wpadł. Też można. :) |
|
Krump Temat założony przez niniejszego użytkownika |
» 2015-01-09 23:10:44 Wykorzystałem te informacje i okazało się, ze problem nie jest w tym jednak. Problemem jest funkcja rename(), a co gorsza ogólnie tworzenie plików przez mój program na windowsie. nawet jak na sztywno wpisze rename ( test.txt, "Ą" ) to wywala błąd |
|
1 2 3 « 4 » 5 |