Gestion des espaces vides avec la fonction scanf () en C

J’ai le problème suivant. Je voudrais numériser trois points de scanf dans le format suivant: {[4;-1],[7;1.5],[4;4]} . Mon code ressemble à ceci:

scanf("{[%lf;%lf],[%lf;%lf],[%lf;%lf]}", &a1, &a2, &b1, &b2, &c1, &c2)

Maintenant, je suis en train de tester que cette conversion est correcte pour pouvoir continuer à l’utiliser. Mais je voudrais permettre à l’utilisateur de saisir quelque chose comme ceci

{ [ 4 ; -1 ] , [ 7 ; 1.5 ] , [ 4 ; 4 ] }

ou même

  { [ 4 ; -1 ] , [ 7 ; 1.5 ] , [ 4 ; 4 ] } 

donc le scanf () est toujours capable de me donner 6 conversions correctes. Que devrais-je faire?

Pour permettre les espaces blancs, un espace blanc avant chaque espace non blanc.

 // "{[%lf;%lf],[%lf;%lf],[%lf;%lf]}" " { [%lf ;%lf ] , [%lf ;%lf ] , [%lf ;%lf ] }" 

Le code peut également append un espace avant "%lf" , mais cela ne modifie pas la fonctionnalité, car ce spécificateur consum déjà de l’espace blanc optionnel.

 " { [ %lf ; %lf ] , [ %lf ; %lf ] , [ %lf ; %lf ] }"