Sha*_*ars 0 c whitespace scanf
我使用以下scanf()语句读取了包含空格的字符串.
scanf("%[^\n]", &stringVariableName);
Run Code Online (Sandbox Code Playgroud)
控制字符串是什么意思[^\n]?
用这样的白色空间读取字符串是否可行?
这意味着"读到任何内容,直到找到'\n'"
这没关系,但最好这样做"读取任何内容,直到找到'\n',或者读取比我的缓冲区支持更多的字符"
char stringVariableName[256] = {}
if (scanf("%255[^\n]", stringVariableName) == 1)
...
Run Code Online (Sandbox Code Playgroud)
编辑:从参数中删除&,并检查scanf的结果.