Я пытаюсь сделать этот код, чтобы читать греческие буквы из файла и печатать английские буквы, которые звучат одинаково с помощью fscanf. Проблема в том, что я продолжаю получать ошибку сегментации. Что мне не хватает?Ошибка сегментации с помощью fscanf-not allocate memory issue
#include <stdio.h>
int main()
{
char s[100];
int i;
FILE * myfile;
myfile = fopen("/home/angelos/Downloads/λεξικο2.txt", "r");
while(fscanf(myfile, "%s", s) == 1)
{
for (i=0 ; i<100 ; i++)
{
if (s[i] == 'Α')
{ printf("A") ; }
else
if (s[i] == 'Β')
{ printf("V") ; }
}
}
Шаг 1: 'fscanf (MYFILE, "% S", S)' '-> fscanf (MYFILE, "% 99S", с)', чтобы предотвратить переполнение буфера , – chux
Не получать доступ к чтению данных. 'for (i = 0; i <100; i ++)' -> 'for (i = 0; s [i]; i ++)'. Необходимо выяснить, какой ввод был использован для диагностики ошибки сегментации. Также проверьте, если 'myfile == NULL'. – chux
Проверьте возвращаемое значение 'fopen'. – BLUEPIXY