IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

sscanf et ses codes


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 96
    Par défaut sscanf et ses codes
    Bonjour,

    Je suis en train d'apprendre le C, donc cette question peut vous parraître évidante.

    1- Je fopen un fichier de config pour avoir les parametres que mon jeux va chargés :

    2- Ensuite je boucle mon fichier de configuration ligne par ligne.

    Dans ce fichier de configutation il y a des sections , et des valeurs. Pour délimité une section j'utilise [section name]; tout ce qui vien enssuite sont les valeurs appartenant à cette section, et ce, jusqu'au prochain [other section name].

    Donc, pour d'eterminer si je suis dans une section je regrade si, la valeur de lineExtract apres un : sscanf(line,"[%99[^]]]",lineExtract); est vide ou nom

    je voudrais savoir que peu bien être "[%99[^]]]", un regex? je crois pas...

    Y-a-t'il une liste avec la liste des code que sscanf peux recevoir ou une doc? Car tout ca l'airs assez utilile a savoir.

    merci

  2. #2
    Membre Expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Par défaut
    Salut,

    un très bon tuto, ici même sur dvp : http://xrenault.developpez.com/tutoriels/c/scanf/

    sinon sur le net il y a une tonne de doc, un google «scanf format string» par exemple te donne beaucoup de liens.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 96
    Par défaut
    merci beaucoup

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Le format "[%99[^]]]" est composé de :
    1- le caractère '['
    2- un format de lecture d'une chaine %99[^]] de la forme %n[xxx].
    Ce format correspond à lire une chaine (y compris les caractères <blancs> au sens de isspace()) jusqu'à ce que le premier évènement parmi les trois suivants se produise
    -- a- on trouve le caractère ']' qui est exclu de la lecture (à cause de ^] )
    -- b- on a lu 99 caractères
    -- c- on est arrivé en fin de chaine
    3- le caractère ']'

    Alors,
    1- La chaine à lire doit commencer par '['. Sinon la conversion s'arrête et sscanf() renvoie 0
    (sans <blancs> qui le précèdent car dans le format '[' n'a pas été précédé d'un ou plusieurs espaces)

    2- Lecture de la chaine qui suit le '['. Les <blancs> en tête, au milieu et en fin de la chaine font partie de la chaine et sont mis dans la chaine de destination. Si cette chaine est vide, sscanf() renvoie EOF, sinon il renvoie 1

    3- Si (2) est terminé par la condition (a), on saute le caractère ']'

    Exemples de lecture d'une chaine :
    * Avec le format "[%99[^]]]"
      "["                : pas de conversion, retourne -1
      " [ 123 456 ] = x" : pas de conversion, retourne 0
      "[ 123 456 ] = x"  : conversion " 123 456 ", retourne 1
      "[ 123 456  = x "  : conversion " 123 456  = x ", retourne 1
    * Avec le format " [ %99[^]]]"
      "["                : pas de conversion, retourne -1
      "  123 456 ] = x"  : pas de conversion, retourne 0
      " [ 123 456 ] = x" : conversion "123 456 ", retourne 1
      "[ 123 456 ] = x"  : conversion "123 456 ", retourne 1

Discussions similaires

  1. Protéger ses codes JS
    Par Anibel dans le forum jQuery
    Réponses: 7
    Dernier message: 17/10/2013, 13h14
  2. protéger ses codes de CALC
    Par docfabius dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/12/2012, 22h04
  3. cacher ses codes sources
    Par jerem721 dans le forum Général Java
    Réponses: 4
    Dernier message: 10/05/2009, 23h38
  4. ne pas communiquer ses code sources
    Par BOMBARDIER dans le forum MS SQL Server
    Réponses: 22
    Dernier message: 01/02/2007, 09h21
  5. Ma BD Maître a perdu ses codes de réplication
    Par Angelote dans le forum Access
    Réponses: 1
    Dernier message: 24/11/2006, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo