2011-12-18 2 views
0

У меня есть ошибка в функции для чтения файла, но я не знаю, что не так. все символы читаются правильно, когда символ находится за пределами таблицы ASCII.wchar_t reading

while ((c = fgetwc(file)) != WEOF) { 
     if (c != L'\n') { 
      if (i == buf_length) { 
       buf_length += BUF; 
       wchar_t *rebuf = realloc(tmp, buf_length * sizeof(wchar_t)); 
       if (rebuf == NULL) { 
        free(tmp); 
        tmp = NULL; 
        buf_length = 0; 
        return EALLOC; 
       } else { 
        tmp = rebuf; 
       } 
      } 
      tmp[i] = (wchar_t)c; 
      i++; 
     } else { 
      list->size++; 
      tmp[i] = L'\0'; 
      insertLast(list, tmp); 
      i = 0; 
     } 
+3

И проблема в том, что ...? – fge

+0

Я думаю, что ваш файл не может быть сохранен в кодировке Unicode – Ulterior

+0

Проблема в том, что когда он читает некоторые sybmols, такие как этот ďšě, который не сохраняет в связанном списке :( – nikigx2

ответ