2010-12-29 4 views
0

Je souhaite lire une chaîne contenant des entiers et stocker tous les entiers dans certaines variables entières. par exemple Lecture des chaînes séparées par des virgules

str[]="12,23,45" 

quelqu'un peut-il s'il vous plaît aidez-moi. i essayé pour un espace entiers séparés ..

  #include<string.h> 
      #include<stdio.h> 
      int main() 
      { 
       char buffer[]="12,34,56"; 
       int x,y,z; 
       if(sscanf(buffer,"%d%d%d",&x,&y,&z)>2); 
       { 

        printf("%d\n",x); 
        printf("%d\n",y); 
        printf("%d\n",z); 
       } 

      return 0; 
} 

Merci pour votre temps précieux. rester heureux.

+0

Où vous lisant? Fichier ou stdin? – RedX

Répondre

6

Vous y êtes presque arrivé!

sscanf() vous demande de donner le format de la chaîne attendue à analyser.

Vous avez des virgules entre les chiffres ... Essayez d'ajouter des virgules entre les %d ...

"%d,%d,%d" 
+0

merci beaucoup ring0. – devoidfeast

2

Option 1: utiliser une combinaison de fonctions de la bibliothèque standard tels que strtok() et atoi() ou sscanf(). Avec ces outils, vous comprendrez en un rien de temps!

Option 2: déployez votre propre fonction! C'est un bon exercice de réflexion :).

+0

j'ai essayé pour un espace séparé .. mais je ne sais pas pour la virgule un – devoidfeast

+0

vous ... sérieusement ??? – slezica

Questions connexes