Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
printf("не могу открыть %s\n", filename);
fopen("настройки.ini", "rt");
Что показали исследования :-)
Кириллицу из командной строки из OEM в W1251 перекодирует сама винда (собственно, командная строка - LPCmdLine - есть у любого приложения, хоть и оконного), а вот printf/scanf - не перекодирует.
Итого рекомендую:
#define OEM_BUF_SIZE 2048
void os_printf( const char *fmt, ...)
{
va_list argptr;
char buf[OEM_BUF_SIZE];va_start(argptr, fmt);
vsprintf(buf, fmt, argptr);
va_end(argptr);CharToOem( buf, buf);
printf( buf);
}