Sign in to follow this  
Followers 0
Guest stibs

Использование sscanf

2 posts in this topic

ПАРУ СЛОВ О SSCANF...

sscanf - разделитель данных с параметром. 

Например, у нас есть данные вида: 2|3|4. Как вы заметили, разделителем между цифрами (2, 3, 4) является знак '|'. Допустим, эти данные хранятся у нас в базе данных. Как же их правильно и не сложно извлечь? Вот эту задачу и решает sscanf. 

ИСПОЛЬЗОВАНИЕ, ПАРАМЕТРЫ. 

Как уже выше было сказано, sscanf можно использовать для сохранения в бд. Можно использовать также в качестве разделителя в командах. С теорией в этой теме покончено, теперь перейдем к практике. 

 


Общий вид функции: 

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту code.

Ну, а теперь подробней: 

  • Где разделяем: строка, из которой извлекаем данные, которые были сохранены в нее с использованием какого-нибудь разделителя. 
  • Разделитель: собственно, сам знак, который разделяет символы между собой (подробнее в начале темы). 
  • Идентификатор параметра(-ов): тип данных, который использован в строке: 
    s - string - строчный тип (буквы и т.д.); 
    i - integer - целочисленный тип (только цифры); 
    f - float - число с плавающей точкой (пример: 1,10). 
  • Исходные аргументы: аргументы (переменные), в которые будут записаны уже разделенные и структурированные данные. 

ИНФОРМАЦИЯ: 
При использования идентификатора параметра s (строчный тип) обязательно к указанию размер строки, который будет извлекаться. 
Например: 
sscanf(string, "s[20]ii", string2, number1, number2);

Теперь можно разобрать пару примерчиков для более глубокого осознания. 

Задача: У нас есть переменная, скажем, numbers. Данная переменная содержит в себе два числа, которые нам нужно выделить из нее. В качестве разделителя будет использована запятая. 

Решение: 

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту code.

Теперь давайте возьмем что-нибудь посложнее. 

Задача: У нас есть переменная carnumbers. Она хранит в себе значение номера и региона, разделенного знаком "|". Причем, цифры в номере разделены пробелом. 

Решение: 

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту code.

Из решения видно, что буква A попадет в переменную letter[0], цифра 1 в переменную number[0] ну и так далее по аналогии. 


Рад, что, возможно, хоть немного что-то прояснил в вашей голове. 

На этом урок окончен, всем спасибо. 

Автор: @stibs

При копировании на другие источники авторство к указанию обязательно.

0

Share this post


Link to post
Share on other sites

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту link.

>

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту link.

"

Перемещена в: "

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту link.

>

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту link.

"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту link.

>

Пожалуйста войдите или зарегистрируйтесь чтобы увидеть эту link.

", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • VadimS
      By VadimS
      Сделал TextDraw выбора скина, прописал в моде захожу на сервер прохожу регистрацию, а TextDraw не отображается.
      Что делать подскажите?
      Код:
       
    • yan2348
      By yan2348
      Привет всем, столкнулся вот с такой проблемкой. У меня в аренде транспорта есть 2 диалога, и 1-ый это переход ко 2-ому диалогу, где нужно вводить минуты. Но после нажатия в 1-ом диалоге меня спавнит, а иногда и вылазит окно авторизации/регистрации. Может я как-то накосячил с диалогами в OnDialogResponse, наверное. За помощь заранее огромное спасибо.
      OnDialogResponse: