Il te faut un séparateur afin de détermines les limites de chacun des champs.
Sinon, comment veux tu que ton programme sache comment séparer les morceaux d'une adresse dans laquelle le numéro de voie peux contenir plusieurs parties (42 bis), de même que l'adresse (rue du Logiciel Libre) ou encore la ville (La Baule).
Le plus "simple" est probablement de considérer un format de type CSV, ou la virgule (ou un autre caractère spécial) fait office de séparateur.
Bon, en réalité, c'est loin d'être simple, je peste régulièrement contre mes collègues qui écrivent des parseurs "CSV-light" à la main, et qui ne fonctionne pas parce qu'ils ont oublié de considérer que les champs peuvent eux aussi contenir le séparateur en question, des guillemets, des sauts de lignes... Bref, réfléchis bien au contenu de tes champs.
Pour parser un tel fichier, regarde du coté de strtok().
# Séparateur
Posté par cfx . En réponse au message Un petit problème avec mon programme C. Évalué à 3. Dernière modification le 04 décembre 2015 à 19:41.
Il te faut un séparateur afin de détermines les limites de chacun des champs.
Sinon, comment veux tu que ton programme sache comment séparer les morceaux d'une adresse dans laquelle le numéro de voie peux contenir plusieurs parties (42 bis), de même que l'adresse (rue du Logiciel Libre) ou encore la ville (La Baule).
Le plus "simple" est probablement de considérer un format de type CSV, ou la virgule (ou un autre caractère spécial) fait office de séparateur.
Bon, en réalité, c'est loin d'être simple, je peste régulièrement contre mes collègues qui écrivent des parseurs "CSV-light" à la main, et qui ne fonctionne pas parce qu'ils ont oublié de considérer que les champs peuvent eux aussi contenir le séparateur en question, des guillemets, des sauts de lignes... Bref, réfléchis bien au contenu de tes champs.
Pour parser un tel fichier, regarde du coté de strtok().