На самом деле функции C не заботятся о кодировании, поэтому, если у вас есть такой код:
#include <stdio.h>
int main( void )
{
printf( "Hällo Wörld\n" );
return( 0 );
}
Он выведет «Germanzied» «Hello World» точно в кодировке Cисходный файл, независимо от настроек системы и т. д. То же самое верно, конечно, если вы печатаете строки, которые вы читаете из файла. Если вы хотите перекодировать строки (скажем, из UTF-8 в ISO-8859), вам нужно сделать это вручную или найти подходящую библиотеку