Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - Zapisywanie do pliku tekstowego z kodowanie UTF-8 c.d.

halal 26 Wrz 2013 02:31 1263 1
  • #1 26 Wrz 2013 02:31
    halal
    Poziom 8  

    Witam, mam problem próbuje od jakiegoś czasu przerzucić kontakty z subiekta na androida. Mam już wygenerowany plik vCard w formie pliku testowego. Teraz chce pozamieniać polskie znaki na kodowanie tak, aby poczta googla była w stanie odczytać wszytko. Bo jak na razie zamiast polskich znaków mam znak "?"

    Napisałem oto program:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Nie wiem czy dobrze. Niby wszystko się kompiluje, ale podczas uruchamiania pliku program się zawiesza. Dodam, że mam około 4000 kontaktów do przerzucenia wiec wklepywanie ręcznie odpada. Używam Dev-C++ 5.2.0.2 może problem jest w tym że mam ponad 51k linii?

    0 1
  • Pomocny post
    #2 27 Wrz 2013 09:32
    pietia86
    Poziom 25  

    Witam

    W przesłanym przez Ciebie kodzie jest kilka błędów:
    1) Niekonsekwentnie stosujesz polecenia fputs, fputc - czy są one poprawne w tym wypadku czy nie to nie ma znaczenia
    2) Konstrukcja pętli while mogłaby być troszkę inna
    3) Instrukcja fputc przyjmuje jeden znak więc jej wywołanie jest niepoprawne
    4) Instrukcja fputs przyjmuje ciąg znaków więc powinna być wywoływana z ciągiem znaków - ciągi umieszcza się w " "
    5) Zamiast instrukcji fputc lepiej (wg. mnie) będzie użyć fprintf

    Poniżej przesyłam Ci kod (pętli while) który przepisze polskie znaki specjalne na zgodne z UTF-8. Pamiętaj jednak że aby plik był rozpoznawany jako zakodowany w UTF-8 musi on mieć odpowiedni "nagłówek" - nie wiem jak powinien on wyglądać w przypadku VCF.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0