Błąd z wcstok

0

Witam, mam problem z funkcją wcstok, codeblocks na windows 8.1 wywala mi błąd: error: converting to execution character set: Illegal byte sequence. Chodzi mu o trzy ostatnie znaki, czyli: ”„–. Oto cały plik źródłowy:

#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include "lista.h"
#include "drzewo.h"
#include "obslugaplikow.h"

//funkcja rekurencyjna sluzaca do wypisywania slow do pliku
void wypiszdrzewo(FILE *plik, struct Slowo *wezel){
    if(wezel){
        wypiszdrzewo(plik, wezel->lewy);
        fwprintf(plik, L"%ls: ",  wezel->slowo);
        wypiszWystapienia(plik, wezel->wyst);
        fprintf(plik, "\n");
        wypiszdrzewo(plik, wezel->prawy);
    }
}
//utworzenie pliku
int wypisz(char *nazwapliku, struct Slowo *korzen){
    FILE *plik = fopen(nazwapliku, "w");
    if(plik != NULL){
        wypiszdrzewo(plik, korzen);
        fclose(plik);
        return 1;
    }
    else{
        printf("Nie uda³o siê utworzyæ pliku!\n");
        return 0;
    }
}
//odczytanie pliku i wydzielenie slow
int odczytajPlik(char *nazwaPliku, struct Slowo **korzen){
    FILE *plik = fopen(nazwaPliku, "rt");
    if(plik != NULL){
        wchar_t bufor[512]; //zmienna przechowujaca linie z tekstu
        wchar_t *slowa = NULL;
        int linijka = 1;
        while(fgetws(bufor,512, plik)){
            slowa = wcstok(bufor,L" ,.-?!/:;()[]{}\\\"|'@#$%^&*+=<>~`\n\t”„–");
            while(slowa != NULL){
                if(slowa[0] != '\n') dodajSlowo(&(*korzen), wcsdup(slowa), linijka);
                slowa = wcstok(NULL, L" ,.-?!/:;()[]{}\\\"|'@#$%^&*+=<>~`\n\t”„–");
            }
            linijka++;
        }
        fclose(plik);
        return 1;
    }
    else{
        printf("Otworzenie pliku nie uda³o siê!\n");
        return 0;
    }

}
 

Gdyby było mało aby pomóc mi rozwiązać ten problem mogę wysłać wszystkie pliki źródłowe i nagłówki. Z góry dziękuję za pomoc :D

0

Popraw literał na:

" ,.-?!/:;()[]{}\\\"|'@#$%^&*+=<>~`\n\t„–"

1 użytkowników online, w tym zalogowanych: 0, gości: 1