Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для SnyXes
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.05.2016
    Сообщений
    11
    Репутация:
    5 ±

    Разбор строки

    Всем привет!
    Сразу к делу.

    Создаю функцию которая создает диалог на текстдравах. Текстдравы создаются по одному. В новом(созданном) текстдраве, должна рисоваться модель(с ротацией и масштабом) введенная в строке которую нужно разобрать.

    Сама строка: "0|90.0|180.0|90.0|1.0/n1|90.0|90.0|90.0|1.5/n2...", где /n - переход к следующей модели, 0,1 - ID модели, 90.0|180.0|90.0|1.0 - ротация и масштаб от 0 модели, 90.0|90.0|90.0|1.5 - ротация и масштаб от 1 модели и так далее.

    Строка может быть любого размера, это зависит от кол-ва моделей.

    Временно сделал так:
    Код:
    for(new i = 0, j = strlen(options); i <= j; i++)
    			{
    			    if(options[i] == '\n' || i == j)
    				{
                                         //создаем текстдрав с 0 моделью.
    Все текстдравы создаются с 0 моделью. Не получается разобрать строку, чтобы создавать с текстдравы с указанной моделью.

  2. #2
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Используй fread со sscanf.

  3. #3
    Аватар для SnyXes
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.05.2016
    Сообщений
    11
    Репутация:
    5 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Используй fread со sscanf.
    Забыл сказать. Я пытался использовать sscanf, но что-то не получается.

    Вот, что нашел в этой теме:
    sscanf("42, 43; 44@", "P<,;@>a<i>[3]", arr) - Делит по определенным символам в массив. Тут нужно указывать размер. Размер зависит от кол-ва моделей, а кол-во всегда меняется.

    P.S. не понимаю, для чего мне fread...

  4. #4
    Аватар для SnyXes
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.05.2016
    Сообщений
    11
    Репутация:
    5 ±

  5. #5
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от SnyXes Посмотреть сообщение
    Забыл сказать. Я пытался использовать sscanf, но что-то не получается.

    Вот, что нашел в этой теме:
    sscanf("42, 43; 44@", "P<,;@>a<i>[3]", arr) - Делит по определенным символам в массив. Тут нужно указывать размер. Размер зависит от кол-ва моделей, а кол-во всегда меняется.

    P.S. не понимаю, для чего мне fread...
    Fread читает каждую строку, а sscanf парсит её. Используйте цикл.

 

 

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

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

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

Ваши права

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