scanf/sscanf 的使用

  1. 普通使用
scanf(format, p1, p2, p3,...)
sscanf(str, format, p1, p2, p3,...)

意为以 format 字符串匹配 stdin/str,将结果传到 p1,p2,p3,... 所代表的地址里
2. format 使用
format 是字符串,可包含:空格字符、非空格字符 和 format 说明符
format 说明符格式:%[*][width][modifiers]type

  • * 表示数据不存储在对应的参数中
  • width 指定了在当前读取操作中读取的最大字符数
  • modifiers 为对应的附加参数所指向的数据指定一个特殊的大小
    • h:短整型或无符号短整型
    • l:长整型或无符号长整型或双精度型
    • ll:超长整型
    • L:长双精度型
  • type 指定了要被读取的数据类型以及数据读取方式
    • %c:字符
    • %d:十进制整数
    • %u:无符号的十进制整数
    • %f:浮点数
    • %o:八进制整数
    • %x:十六进制整数
    • %s:字符串,到空格、换行或制表符停止
    • %%:读 % 符号
    • %[]:扫描字符集合
  1. %[] 的使用
  • %[a-z]:匹配 a-z
  • %[abcd]:匹配 a,b,c,d
  • %[^a-z]:匹配除了 a-z 以外的字符
  1. 返回值
    返回成功读入的数据项数
    读到末尾则返回 EOF = -1
posted @ 2023-02-26 00:34  JerryTcl  阅读(74)  评论(0)    收藏  举报