Utilisation regex dans scanf - difficulté avec les quantités -
Bonjour,
Je travaille actuellement sur un petit programme en C sous Linux dans lequel je souhaite récupérer certains champs d'une ligne du fichier group.
Exemple de ligne :
Code:
openoffice:!:1007:user1,user2
Je souhaite récupérer le nom du groupe et le gid.
Jusque là je m'en sortais à l'aide d'un scanf tel que celui-ci :
Code:
sscanf(ligne_a_analyser,"%50[^:]:%*[^:]:%50[^:]",groupe,gid);
Mais... le second champ de certaines lignes du fichier group peut être vide. La ligne devient alors :
Code:
openoffice::1007:user1,user2
Dans cette configuration, le scanf indiqué ci-dessus ne fonctionne plus. J'ai bien compris qu'il fallait indiquer pour ce second champs une notion de quantité (zéro ou plus) mais je ne parviens pas à l'utiliser.
Quelqu'un pourrait-il m'aider à réaliser cette expression ?
Merci par avance.
Cordialement,
LN.