我需要一个scanf()函数调用来接受空格(没有制表符或换行符,只有' '空格符号)。
char buffer[2048];
scanf(" %2048[0-9a-zA-Z ]s", buffer);
我从这个问题的答案中得到了这个格式说明符:
how-do-you-allow-spaces-to-be-entered-using-scanf
虽然它可以很好地接受第一个输入序列,但是它会在第一个空格字符处终止,并带有一个空字符。发生了什么?也许我使用的格式不正确?
我应该说,我在这里使用scanf(),因为安全性并不是一个问题;只有我会使用这个特定的程序,并且输入已经严格格式化。
&
。 - Suji&
是正确的做法。 - Timothy Jones