LINUX.ORG.RU

История изменений

Исправление xaizek, (текущая версия) :

/* так работает */

Оно поломается, если во вводе будет символ с кодом 255, а на архитектурах, где char по умолчанию беззнаковый, EOF вообще не будет определён. getc()/getchar() возвращают int не просто так.

/* здесь предупреждение */

Его надо исправлять, добавив каст именно в то место:

line[index++] = (char)ch;

А

    int ch = EOF;

    while (ch) {
должно быть
    int ch = 0;

    while (ch != EOF) {

    // и там ниже ch = EOF сделать
Символ с кодом 0 тоже может быть во вводе.

Исходная версия xaizek, :

/* так работает */

Оно поломается, если во вводе будет символ с кодом 255, а на архитектурах, где char по умолчанию беззнаковый, EOF вообще не будет определён. getc()/getchar() возвращают int не просто так.

/* здесь предупреждение */

Его надо исправлять, добавив каст именно в то место:

line[index++] = (char)ch;

А

    int ch = EOF;

    while (ch) {
должно быть
    int ch = 0;

    while (ch != EOF) {
Символ с кодом 0 тоже может быть во вводе.