在使用scanf扫描字符串的情况下,为什么不存储先前的输入缓冲区?

视线
scanf("%d",&i);
scanf("%c",&ch);

在这种情况下,换行符(即在数字后按下的回车键)保留在输入缓冲区中并前进到ch,
但是在这种情况下:

scanf("%d",&i);
scanf("%s",s);

输入缓冲区不包含换行符,即缓冲区已清除(我不确定是否清除了缓冲区)并且换行符未包含在字符串s中

谁能对此有所启发?为什么在扫描字符串的情况下不使用换行符?

谢尔盖·卡里尼琴科(Sergey Kalinichenko)

的行为%s,并%c在标准中定义。

%s说明符定义为采用一系列非空格字符,这意味着\n将跳过初始空格(包括):

%s匹配不是空格字符的字节序列。应用程序应确保相应的参数是一个指向char,有符号的char或无符号的char数组的初始字节的指针,该数组的大小应足以接受该序列和一个终止的空字符代码(应自动添加)。文件

%c另一方面,对空格没有任何特殊处理:

%c 匹配由字段宽度指定的数字的字节序列(如果转换规范中没有字段宽度,则为1)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在使用scanf扫描字符串的情况下,为什么不存储先前的输入缓冲区?

来自分类Dev

在不使用附加缓冲区的情况下从Python中删除字符串中的重复项

来自分类Dev

PHP 在某些情况下将缓冲区字符串打印到网页中?

来自分类Dev

在不存储中间文件,使用缓冲区或流的情况下将Webshot传输到Google云端硬盘?

来自分类Dev

如何在不刷新缓冲区的情况下用换行符打印字符串?

来自分类Dev

如何在不进行额外分配的情况下将u32的字符串表示形式写入字符串缓冲区?

来自分类Dev

字符串缓冲区输入问题

来自分类Dev

MTKView在不清除先前内容的情况下更新帧缓冲区

来自分类Dev

如何在C ++中使用scanf扫描字符串

来自分类Dev

为什么strstr无法从环形缓冲区中找到子字符串?

来自分类Dev

为什么printf没有在缓冲区溢出中打印出字符串?

来自分类Dev

为什么更改缓冲区比在Javascript中追加字符串要慢?

来自分类Dev

如何在不复制或查找的情况下获取const字符串流缓冲区的长度?

来自分类Dev

当我处理字符串时,为什么会得到“预期的字符串或缓冲区”?

来自分类Dev

扫描字符串输入不断失败

来自分类Dev

扫描字符串输入不断失败

来自分类Dev

为什么子流程默认情况下使用列表而不是带空格的字符串?

来自分类Dev

使用缓冲区比较字符串

来自分类Dev

为什么我们使用char *作为缓冲区,为什么不使用boost :: asio中的字符串呢?

来自分类Dev

缓冲区到字符串?

来自分类Dev

字符串的循环缓冲区

来自分类Dev

扫描器类和字符串缓冲区

来自分类Dev

如果以开头,请使用instr扫描字符串

来自分类Dev

如果以开头,请使用instr扫描字符串

来自分类Dev

在更新命令缓冲区的情况下,vulkan命令缓冲区同步

来自分类Dev

在不复制整个缓冲区的情况下获取字符串流中的最后一个字符

来自分类Dev

在不更改窗口的情况下使用Cx Cb切换到缓冲区

来自分类Dev

在“根”没有发送缓冲区的情况下使用MPI_GATHERV

来自分类Dev

打印并扫描字符串c

Related 相关文章

  1. 1

    在使用scanf扫描字符串的情况下,为什么不存储先前的输入缓冲区?

  2. 2

    在不使用附加缓冲区的情况下从Python中删除字符串中的重复项

  3. 3

    PHP 在某些情况下将缓冲区字符串打印到网页中?

  4. 4

    在不存储中间文件,使用缓冲区或流的情况下将Webshot传输到Google云端硬盘?

  5. 5

    如何在不刷新缓冲区的情况下用换行符打印字符串?

  6. 6

    如何在不进行额外分配的情况下将u32的字符串表示形式写入字符串缓冲区?

  7. 7

    字符串缓冲区输入问题

  8. 8

    MTKView在不清除先前内容的情况下更新帧缓冲区

  9. 9

    如何在C ++中使用scanf扫描字符串

  10. 10

    为什么strstr无法从环形缓冲区中找到子字符串?

  11. 11

    为什么printf没有在缓冲区溢出中打印出字符串?

  12. 12

    为什么更改缓冲区比在Javascript中追加字符串要慢?

  13. 13

    如何在不复制或查找的情况下获取const字符串流缓冲区的长度?

  14. 14

    当我处理字符串时,为什么会得到“预期的字符串或缓冲区”?

  15. 15

    扫描字符串输入不断失败

  16. 16

    扫描字符串输入不断失败

  17. 17

    为什么子流程默认情况下使用列表而不是带空格的字符串?

  18. 18

    使用缓冲区比较字符串

  19. 19

    为什么我们使用char *作为缓冲区,为什么不使用boost :: asio中的字符串呢?

  20. 20

    缓冲区到字符串?

  21. 21

    字符串的循环缓冲区

  22. 22

    扫描器类和字符串缓冲区

  23. 23

    如果以开头,请使用instr扫描字符串

  24. 24

    如果以开头,请使用instr扫描字符串

  25. 25

    在更新命令缓冲区的情况下,vulkan命令缓冲区同步

  26. 26

    在不复制整个缓冲区的情况下获取字符串流中的最后一个字符

  27. 27

    在不更改窗口的情况下使用Cx Cb切换到缓冲区

  28. 28

    在“根”没有发送缓冲区的情况下使用MPI_GATHERV

  29. 29

    打印并扫描字符串c

热门标签

归档