Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 2
    Гостей: 2
    Пользователи: - отсутствуют
    Роботы: - отсутствуют

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 25-12-2011, 00:11 Просмотров: 6769

    read_file Функция читает строку из файла

    Если есть файлы, значит в них есть какая то ценная информация информация, если есть такая информация значит ее надо как то получить и обработать?
    А для получения строк из файла существует функция read_file

    Инфо из file.inc:
    /* Reads line from file. Returns index of next line or 0 when end of file is reached. */
    native read_file(const file[],line,text[],len,&txtlen);


    Синтаксис:
    read_file ( const file[], line, text[], len, &txtLen )

    • const file[] - Имя читаемого файла
    • line - Читаемая строка
    • text[] - Массив куда будет записана строка
    • len - Максимальная длина
    • &txtLen - Длина читаемой строки.
    Функция возвращает индекс следующей строки или если строк больше нет вернет ноль

    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[file.inc] read_file"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    public plugin_init()
    {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        //Создание файла с текстом
        write_file("NewName.txt","My Firest Text Hellow Word",0)

        //Объявление новых массивов и пременных
        new szText[64],len

        //Читаем файл
        read_file("NewName.txt",0,szText,63,len)

        //Выводим содержимое строки в консоль сервера.
        server_print("Text in file: %s",szText)
    }


    Описание:
    Что бы не ломать голову какие файлы у нас одинаковые и какой из них можно не бояться испортить, создадим новый файл с одной строкой.
    Как вы наверное знаете нумерация строк будет начинаться не с 1, а с 0.
    По этому и создаем и читаем нулевую строку.

    В коде проставлены комментарии почти к каждой строке, так что думаю нет смысла что то еще говорить, все предельно просто и наглядно, думаю немного покрутив код, вы быстро освоите чтение файлов.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    read_file Функция читает строку из файла
    Hellrock

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    &txtLen - как я понял, это длина строки (количество прочитанных символов)
    Rejiser

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Есть у нас например файл configs/test/tes.ini
    В нем сотни строк, пример одной строки:
    "какой-то/путь/до/файла" "какое то значение" "комментарий"

    Как можно и лучше всего вывести (fgets или read_file) вывести то, что в "комментарий"?
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    Не знаю, не задавался этим вопросом.
    --------------------
    LLInH9rA

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Насколько я помню, &txtLen - это кол-во прочитанных символов. Могу и ошибаться.
    dj-egor

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Цитата: Rejiser
    Есть у нас например файл configs/test/tes.ini
    В нем сотни строк, пример одной строки:
    "какой-то/путь/до/файла" "какое то значение" "комментарий"
    Как можно и лучше всего вывести (fgets или read_file) вывести то, что в "комментарий"?






    или




    если не правильно поправьте wink
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Ну read_argv это же для клиентских команд вроде, а не для деления строки на аргументы...
    gpwm

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    &txtLen - Честно говоря не понимаю зачем это, просто подставил пустую переменную и все работает.Если кто знает пишите в коментах, дополню.


    &txtLen — длина читаемой строки. Кто-то уже догадался в комментариях, так и есть.

    Пожалуйста, поправьте статью, чтобы сразу было видно данную информацию.
    Richard98

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    А если файла не существует, то что будет?
    Radius

    7.05.2013
    ICQ: 357188115
    Публикаций: 1
    Комментариев: 57
    Репутация: -  4  +

    Цитата: Richard98
    А если файла не существует, то что будет?

    Функция завершится с ошибкой

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама