int main() {
char faculty[20];
ss=setlocale(LC_ALL, "");
f = fopen("input.txt", "r");
printf("Введите название факультета \n");
scanf("%s", faculty);
fgets(faculty, 19, f);
.......................
I can not read cyrillic text from console. I tried to change font, setlocale parameter, but nothing help. scanf function returns (it seems so) utf-16. Output to console is all right. Default code page in console - 866 and i don't know how to change it;
Input code page is probably wrong. I suppose you are running your code in Windows, so you can change it with SetConsoleCP. Try it with code page 1251 (ANSI Cyrillic; Cyrillic (Windows)). It should look more or less like the following code: