Проблема со считыванием русских символов из текстового файла
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 29.09.22 14:08
Оценка: -1
Я работаю с Qt Creator 4.12.2 .

Есть текстовой файл myfile.txt, содержащий русские слова и вещественные числа.
При чтении информации из этого файла:

char  s[256], sprev[256], sname[20], sX[20], sY[20], sZ[20];
FILE *f;

//...

strcpy(sprev,"");
f = fopen("myfile.txt","rt");
if (f!=NULL)
{
    fgets(s,256,f); // считывание заголовка
    fgets(s,256,f); // считывание пустой строки
    while (!feof(f))
    {
        fgets(s,256,f);
        if (strcmp(s,sprev)!=0)
        {
            sscanf(s,"%s %s %s %s",sname,sX,sY,sZ); // sname--русское слово, sX, sY, sZ содержат вещественные числа
            // обработка строк sname, sX, SY, sZ;
            strcpy(sprev,s);
        }
    }
    fclose(f);
}


считывается строка s, в которой вместо русских символов (то, чему соответствует sname) находится какая-то абракадабра. При этом вещественные значения в sX, sY и sZ считываются правильно.

В чём причина этого? Как исправить эту ошибку?
1613 г. = 2024 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.