fgetchar

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск

Описание:

Считывает из файла 1 символ.

Параметры:

(File: handle, value, bool: utf8 = true)
File: handle Хендл открытого файла.
value Неиспользуемый аргумент (см. прим. ниже).
bool: utf8 Указывает, следует ли считывать символ в кодировке UTF-8 (от 1 до 6 байт на символ) вместо ASCII (1 байт) (необязательный параметр, по умолчанию символы считываются в UTF-8).


Возвращаемое значение:

Код символа, считанного из файла, либо EOF, если достигнут конец файла.

Bug.png
Баг Pawn
Попытка передать функции неправильный хендл (т.е. не возвращённый функциями fopen() или ftemp(), либо уже закрытый с помощью fclose()) приводит к падению сервера.


Bug.png
Баг Pawn
Параметр value никаким образом не используется. Скорее всего, он оказался в заголовке функции по ошибке путём copy-paste заголовка fputchar() - это предположение подтверждается тем, что в последующих версиях Pawn данный параметр был удалён из заголовка функции.


Пример использования:

main()
{
    // Создадим пустой файл и запишем в него символы 'a', 'b', 'c' и 'd'
    new File: f = fopen("1.txt", io_write);
    for (new c = 'a'; c < 'e'; c++)
        fputchar(f, c);
    fclose(f);

    // Откроем файл, считаем строку и выведем её в консоль
    new buffer[128];
    f = fopen("1.txt", io_read);
    new pos = -1;
    do {} while ((buffer[++pos] = fgetchar(f, 0)) != EOF);
    buffer[pos] = '\0';
    fclose(f);
    print(buffer); // Вывод: "abcd"
}


См. также: