scanf («% [^ \ n] s», str) Vs получает (str) в C с примерами

Опубликовано: 27 Декабря, 2021

получает ()

  • gets - более удобный метод чтения строки текста, содержащей пробелы.
  • В отличие от scanf (), он не пропускает пробелы.
  • Он используется для чтения ввода, пока не встретит новую строку.

% [^ n]

  • Это код преобразования редактирования.
  • Код преобразования редактирования% [^ n] может использоваться как альтернатива get.
  • C поддерживает эту спецификацию формата с помощью функции scanf ().
  • Этот код преобразования редактирования можно использовать для чтения строки, содержащей такие символы, как переменные и даже пробелы.
  • В общем случае функция scanf () со спецификацией формата, например% s, и спецификацией с шириной поля в виде% ws может только для чтения строк до непробельной части.
  • Это означает, что их нельзя использовать для чтения текста, содержащего более одного слова, особенно с пробелами.

Таблица различий и сходств между gets () и% [^ n]

получает () % [^ n]
gets () используется для чтения строк % [^ n] - это код преобразования редактирования, используемый для чтения строк.
В отличие от scanf (), gets () читает строки даже с пробелами % [^ n] также читает строки с пробелами
когда он читает символ новой строки, тогда функция gets () будет завершена % [^ n] также заканчивается символом новой строки