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
, если достигнут конец файла.
Баг Pawn |
Попытка передать функции неправильный хендл (т.е. не возвращённый функциями fopen() или ftemp() , либо уже закрытый с помощью fclose() ) приводит к падению сервера.
|
Параметр 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"
}
{
// Создадим пустой файл и запишем в него символы '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"
}
См. также: