Вывести символы из файла. Выводятся не все - C (СИ)

Формулировка задачи:

Есть файл с таким содержанием: $ђЇђ| їµ|{#є . Требуется просто считать от туда эту строку посимвольно и сохранить её в символьный массив. Но почему-то программа может взять только символ '$' и все.В чем проблема и как сделать чтобы это работало ?
#include <stdio.h>
#include<wchar.h>
#include <locale.h>
 
int main() {
    setlocale (LC_ALL, "ru_RU.utf-8");
    wchar_t k;
    FILE *f;
    f = fopen ("/Users/venrok/Desktop/Xcode projects/C-projects/2015/Project-3/text.txt", "r");
    while ((k = fgetwc(f)) != WEOF) {
        wprintf(L"%lc",k);
    }
    return 0;
}

Код к задаче: «Вывести символы из файла. Выводятся не все - C (СИ)»

textual
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
 
int main() {
    setlocale (LC_ALL, "ru_RU.utf-8");
    wchar_t k[25];
    FILE *f;
    int i = 0;
    f = fopen ("text.txt", "r");
    while ((k[i] = fgetwc(f)) != WEOF) {
        wprintf(L"%lc",k[i]);
        ++i;
    }
    wprintf(L"\n%ls",k);
    return 0;
}

9   голосов, оценка 3.778 из 5


СОХРАНИТЬ ССЫЛКУ