空格"/>
如何读取字符串中的空格
根据前面的学习,我们可以知道scanf读取到空格/回车/tab会停止读取,后面的内容会交给后面的scanf读取。
那么问题来了,我们如何让scanf语句把字符串中的空格也读取呢?
在scanf中使用%[ ]参数。这个参数的作用就是读取一个字符集合。[]中括号里面输入读取的字符集合。比如%[a-z]读取a到z的字符集合。要读取一行只要,只要设置为读取非换行符就可以了%[^\n]:
我们也可以使用gets函数,gets函数读取字符串,直至遇到回车符或遇到EOF停止读取。
gets函数的格式:char *gets(char *str),gets函数从STDIN(标准输入)读取字符,并将它们写到变量str之中,直到遇到换行符\n或到达EOF。gets会读取空格,且gets函数遇到\n后,不会存储\n,而是将其翻译为空字符’\0’
与gets函数对应的输出函数puts的格式:int puts(const char *str)
函数puts把字符串str写入STDOU(标准输出)。puts执行成功时返回非负值,执行失败时返回EOF,相当于printf函数,puts只能用于输出字符串,同时多打印一个换行符。
更多推荐
如何读取字符串中的空格
发布评论