Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 1 из 1

Тема: fread

  1. #1
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±

    fread

    fread
    Извлекает строку из файла.

    Параметры:
    PHP код:
    (Filehandlestring[], size sizeof(string), boolpack false
    • handle - уникальный идентификатор файла (был указан при открытии файла (fopen))
    • string - массив, в котором будет храниться строка, извлечённая из файла
    • size - размер строки (по умолчанию размер равен размеру массива string)
    • pack - запаковать ли строку: true - да, false - нет


    Возвращаемые значения:
    • Размер извлечённой строки из файла


    Пример использования (Загрузка аккаунта игрока):
    PHP код:
    new
        
    str[128], // Массив для форматирования пути и извлечения строк из файла
    ;

    GetPlayerName(playeridstrsizeof(str)); // Получение никнейма игрока
    format(strsizeof(str), "Accounts/%s.ini"str); // Форматирование пути к аккаунту игрока

    new
        
    Filefile fopen(strio_read// Открытие файла с режимом чтения
    ;

    if(
    file != File0// Если файл успешно открылся
    {
        while(
    fread(filestr))
        
    // Условие: пока длина считываемой строки не равна 0
        // (это проверяется с помощью функции fread,
        // которая возвращает длину строки, извлечённой из файла),
        // выполним код, находящийся ниже в фигурных скобках
        
    {
            switch(
    YHash(strfalsehash_fnv1))
            
    // С помощью функции YHash "сконвертируем" строку полученную из файла,
            // и начнём проверять её с помощью оператора switch
            // (что намного быстрее и проще, чем использование функции strcmp)
            
    {
                case 
    _I@f<Password>: // Если текущая строка это: "Password" (что с англ. переводится как "Пароль"
                
    {
                    
    strgetdata(str" = ");
                    
    // С помощью пользовательской функции strgetdata,
                    // извлечём диапазон символов после строки: " = "
                    // (кто использует mxINI, тот наверняка знает, что при записи в файл,
                    // ключ и значение ключа разделяется именно этим знаком (строкой - " = "))
                    
    strmid(PlayerInfo[playerid][pPass], str02021);
                    
    // Запишем полученную строку из файла в массив pPass
                    // (который был ранее создан в энумераторе, для записи пароля игрока)
                
    }
                case 
    _I@f<Money>: // Если текущая строка это "Money" (что с англ. переводится как "Деньги"
                    
    PlayerInfo[playerid][pMoney] = strval(str[5]),
                    
    // Установим значение денег игрока с помощью функции strval
                    // (которая извлекает из строки число), и выдадим игроку количество денег,
                    // которое было извлечено из строки
                    
    GivePlayerMoney(playeridPlayerInfo[playerid][pMoney]); // Выдадим количество денег
                
    case _I@f<AdminLevel>: // Если текущая строка это "AdminLevel" (что с англ. переводится как "Уровень админки"
                    
    PlayerInfo[playerid][pAdminLevel] = strval(str[10]); // Установим игроку уровень администратирования 
            
    }
        }
        
    fclose(file);

    Полезные ссылки:



    Автор статьи: Londlem

    Специально для: Pro-Pawn.Ru


    Копирование данной статьи без разрешения автора запрещено!

  2. 2 пользователя(ей) сказали cпасибо:
    Exclusive (30.05.2014)[ForD] (29.05.2014)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •