📜  scanf(“%[^\n]s”, str) Vs gets(str) in C with examples

📅  最后修改于: 2021-09-13 02:50:10             🧑  作者: Mango

获取()

  • get 是一种更方便的读取包含空格的文本字符串的方法。
  • 与 scanf() 不同,它不会跳过空格。
  • 它用于读取输入,直到遇到换行符。

%[^\n]

  • 它是一个编辑转换代码。
  • 编辑转换代码 %[^\n] 可以用作 get 的替代。
  • C 通过 scanf()函数支持这种格式规范。
  • 该编辑转换代码可以被用来读取包含像变量和甚至空格字符的线。
  • 通常,具有 %s 等格式规范和以 %ws 形式指定字段宽度的 scanf()函数可以只读字符串直到非空白部分。
  • 这意味着它们不能用于阅读包含多个单词的文本,尤其是空格。

get() 和 %[^\n] 之间的异同表

gets() %[^\n] 
gets() is used to read strings %[^\n] is an edit conversion code used to read strings
Unlike scanf(), gets() reads strings even with whitespaces %[^\n] also reads strings with whitespaces
when it reads a newline character then the gets() function will be terminated %[^\n] also terminates with a newline character
想要从精选的视频和练习题中学习,请查看C 基础到高级C 基础课程