[sisyphus] g77 & буква 'я'
Epiphanov Sergei
=?iso-8859-1?q?serpiph_=CE=C1_entek=2Eru?=
Вт Апр 6 18:12:23 MSD 2004
Всем привет!
Работаю сейчас с Фортраном, собираю программы под g77 и наткнулся на такую
странность: буква 'я' не дает нормально работать! А именно: в такой строке
компилятор выдает ошибку `нет закрывающей кавычки':
write(*,*)'я'
а в такой ошибки нет:
write(*,*)'t'
При этом буква 'я' не только пропадает из выводимого текста, но и при этом
тянет за собой следующий за ней символ. Я нахожусь в кодировке CP1251,
поэтому её код равен 255. Судя по всему, g77 воспринимает её как Unicode
со всеми вытекающими последствиями. При этом gcc в программе
#include <stdio.h>
int main (void)
{
char s[2]={'я'};
puts(s);
}
ни на что не ругается и программа работает как надо.
$ locale
LANG=ru_RU.CP1251
LC_CTYPE=ru_RU.CP1251
LC_NUMERIC=ru_RU.CP1251
LC_TIME=ru_RU.CP1251
LC_COLLATE=ru_RU.CP1251
LC_MONETARY=ru_RU.CP1251
LC_MESSAGES=ru_RU.CP1251
LC_PAPER="ru_RU.CP1251"
LC_NAME="ru_RU.CP1251"
LC_ADDRESS="ru_RU.CP1251"
LC_TELEPHONE="ru_RU.CP1251"
LC_MEASUREMENT="ru_RU.CP1251"
LC_IDENTIFICATION="ru_RU.CP1251"
LC_ALL=
$
--
С уважением, Епифанов Сергей
Подробная информация о списке рассылки Sisyphus