fgets() - русские символы

Тема в разделе "WASM.BEGINNERS", создана пользователем AndreyXYZ, 14 фев 2009.

  1. AndreyXYZ

    AndreyXYZ New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2009
    Сообщения:
    28
    fgets() не читает русские символы из файла. fgetws() тоже не читает. Как решить данную проблему?
     
  2. barton

    barton New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2008
    Сообщения:
    164
    Адрес:
    Czechoslovakia
    Все оно читает, показывай код.
    Видимо на консоль выводишь сразу из fgets, от того и каракули
     
  3. AndreyXYZ

    AndreyXYZ New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2009
    Сообщения:
    28
    Да, я так и делаю.
    Код (Text):
    1.        
    2. char s[100];       
    3. fgets(s,100,fp);
    4. printf(s);
     
  4. TriX

    TriX Member

    Публикаций:
    0
    Регистрация:
    7 мар 2008
    Сообщения:
    68
    Каракули из-за того, что в консоли OEM кодировка используется.
    нужно так:
    Код (Text):
    1. char s[100];       
    2. fgets(s,100,fp);
    3. CharToOem(s,s);
    4. printf(s);
     
  5. AndreyXYZ

    AndreyXYZ New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2009
    Сообщения:
    28
    Спасибо.