sprintf - Форум




Главная О проекте Статьи Файлы Фотоальбомы Форум
Добавить сайт в «Избранное» | Вход в профиль

GTA V

Информация: iFruit

Информация: Изображения:

GTA: Chinatown Wars

Информация:

GTA IV

Информация:

Информация:

Информация:

Информация:

GTA: Vice City Stories

Информация: Изображения:

GTA: Liberty City Stories

Файлы: Информация: Изображения:

GTA: San-Andreas

Информация: Статьи: Изображения:

GTA: Vice City

Информация: Изображения: Файлы:

Информация: Изображения:

GTA ]I[

Информация: Файлы:

Информация: Изображения:

GTA 2

  • 1
  • 2

GTA: Advance

Информация:

GTA




  • 1
  • 2

Меню сайта

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    Страница 1 из 11
    Форум » PAWN » WIKI » Нестандартные функции » sprintf (Печатает в консоли и файле)
    sprintf
    OKStyle Дата: Четверг, 09/07/2009, 23:16 | Сообщение # 1
    Analgésico



    Регистрация: 17/01/2009
    Клан:
    [ACF]
    Страна:
    Статус:


    Данный код поддерживает флаги %s %S %f %F %d %D %i %%, поддержку других флагом нужно писать самому, если потребуется.

    Синтаксис: sprintf(const Format[], {Float,_}:...);

    const Format - тип данных;
    Float - аргументы.

    Code
    stock sprintf(const Format[], {Float,_}:...)
    {    
             new bool:searching, x;    

             new string[256], tmp[256], tmp2[256];    
             new currarg, i;    
             currarg=1;    
             for(i=0; i < strlen(Format); i++) {    
                 if(Format[i] != '%') {    
                     string[strlen(string)] = Format[i];    
                     string[strlen(string)] = '\0';    
                     continue;    
                  }    
                 if(Format[i] == '%' && Format[i+1] == '%') {    
                     string[strlen(string)] = Format[i];    
                     string[strlen(string)] = '\0';    
                     i++;    
                     continue;    
                  }    
                  searching = true;    

                 new tempFormat[256];    

                 while(searching) {    
                     tempFormat[strlen(tempFormat)] = Format[i];    
                     tempFormat[strlen(tempFormat)] = '\0';    
                     switch(Format[i]) {    
                         case 's', 'S' : {    
                             strdel(tmp, 0, sizeof(tmp));    
                             strdel(tmp2, 0, sizeof(tmp2));    
                             x=0;    
                             for(x=0; getarg(currarg, x) != '\0'; x++) {    
                                 tmp2[x] = getarg(currarg, x);    
                                }    
                                tmp2[x] = '\0';    
                             format(tmp, sizeof(tmp), tempFormat, tmp2);    
                             strcat(string, tmp);    
                             searching = false;    
                             currarg++;    
                            }    
                         case 'f', 'F' : {    
                             strdel(tmp, 0, sizeof(tmp));    
                             format(tmp, sizeof(tmp), tempFormat, Float:getarg(currarg));    
                             strcat(string, tmp);    
                             searching = false;    
                             currarg++;    
                            }    
                         case 'd', 'D', 'i' : {    
                             strdel(tmp, 0, sizeof(tmp));    
                             format(tmp, sizeof(tmp), tempFormat, getarg(currarg));    
                             strcat(string, tmp);    
                             searching = false;    
                             currarg++;    
                            }    
                        }    
                        if(searching)    
                         i++;    
                   }    
             }    

             return string;    
    }    
    native sprintf(const Format[], {Float,_}:...);

    Автор: Peter.




     
    Форум » PAWN » WIKI » Нестандартные функции » sprintf (Печатает в консоли и файле)
    Страница 1 из 11
    Поиск:

    GTA MP

    Мультиплееры

    GTA Modding

    Статьи:
    GTA III

    Блок пользователя

    GTA: Criminal Russia


    Календарь новостей
    «  Март 2015  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031

    Поиск

    Наша кнопка



    Партнёры

    Multi Theft Auto Community Russia

    Alliance of Cheater's Fighters
    Elite Force Opossition
    Brotherhood of Plumbum
    E1ect
    San-Andreas Bugousers
    Seville Crew
    Русский•Exclusive•Сервер
    Mixes
    http://rus-gta.do.am/
    Здесь вы можете все узнать про pawno,так же скачать моды,скрипты,программы,новости и много другое

    Вход на сайт

    Корзина
    Ваша корзина пуста

    Поиск

    Мини-чат

    Наш опрос
    Считаете ли вы IV-MP лучше SA-MP?
    Всего ответов: 476

    Статистика


    Copyright © Лаборатория O.K.Style 2001-2016 | GTA-Exclusive 2007-2016 | GTA News 2007-2016 | Хостинг от uCoz