使用C 中的scanf()函数处理空格
我有以下问题。 我想以下列格式扫描scanf中的三个点: {[4;-1],[7;1.5],[4;4]}
。 我的代码如下所示:
scanf("{[%lf;%lf],[%lf;%lf],[%lf;%lf]}", &a1, &a2, &b1, &b2, &c1, &c2)
现在,我实际上正在测试这是否正确转换为进一步使用它。 但我想允许用户输入这样的东西
{ [ 4 ; -1 ] , [ 7 ; 1.5 ] , [ 4 ; 4 ] }
甚至
{ [ 4 ; -1 ] , [ 7 ; 1.5 ] , [ 4 ; 4 ] }
所以scanf()仍然可以给我6个正确的转换。 我该怎么办?
为了允许白色空间,每个非白色空间之前都有一个空白区域。
// "{[%lf;%lf],[%lf;%lf],[%lf;%lf]}" " { [%lf ;%lf ] , [%lf ;%lf ] , [%lf ;%lf ] }"
代码也可以在"%lf"
之前添加一个空格,但这不会改变function,因为该说明符已经消耗了可选的前导空格。
" { [ %lf ; %lf ] , [ %lf ; %lf ] , [ %lf ; %lf ] }"