Spec-Zone.ru › Octave 6

14.2.12 Синтаксис преобразования входных данных

Шаблонная строка scanf — это строка, содержащая обычные многобайтовые символы, перемежаемые спецификациями преобразования, которые начинаются с ‘%’.

Любой пробельный символ в шаблоне приводит к чтению и отбрасыванию любого количества пробельных символов в потоке ввода. Пробельные символы, которые сопоставляются, не обязательно должны быть точно такими же, как пробельные символы в строке шаблона. Например, запишите ‘ , ’ в шаблоне, чтобы распознать запятую с необязательными пробелами перед и после неё.

Другие символы в строке шаблона, которые не являются частью спецификаций преобразования, должны точно соответствовать символам в потоке ввода; если это не так, происходит неудача сопоставления.

Спецификации преобразования в строке шаблона scanf имеют общий вид:

% flags width type conversion

Более подробно, спецификация преобразования ввода состоит из начального символа ‘%’, за которым последовательно следуют:

  • Необязательный флажковый символ ‘*’, который указывает на игнорирование текста, считанного для этой спецификации. Когда scanf находит спецификацию преобразования, использующую этот флаг, она считывает входные данные, как указано остальной частью спецификации преобразования, но отбрасывает эти входные данные, не возвращает никакого значения и не увеличивает счет успешных присваиваний.
  • Необязательное десятичное целое число, которое задаёт максимальную ширину поля. Чтение символов из потока ввода прекращается либо при достижении этого максимума, либо при обнаружении несоответствующего символа, в зависимости от того, что произойдёт раньше. Большинство преобразований отбрасывают начальные пробельные символы, и эти отброшенные символы не учитываются в максимальной ширине поля. Преобразования, которые не отбрасывают начальные пробельные символы, документированы явно.
  • Необязательный символ модификатора типа. Этот символ игнорируется функцией Octave’s scanf но распознаётся для обеспечения совместимости с языком C scanf.
  • Символ, указывающий на применяемое преобразование.

Точные разрешенные варианты и способ их интерпретации различаются в зависимости от различных спецификаторов преобразования. См. описания отдельных преобразований в Таблице преобразований ввода для получения информации о конкретных разрешённых вариантах.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v6.4.0/Input-Conversion-Syntax.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API