Lire un fichier .txt

inconnu2nulpar Messages postés 75 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 janvier 2007 - 15 janv. 2007 à 20:55
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 - 17 janv. 2007 à 08:50
slt, dans un fichier .txt j'ai des coordonné de point sous la forme :
x1,y1
x2,y2
...
mais je ne sait pas comment les récupéré et les mettre dans un tableau.( soit directement dans un tableau sous la forme de structure point ( tab.x, tab.y) ou alors passé par un tableau intermédiare qui stocke les donné)..

10 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
15 janv. 2007 à 21:07
FILE * file = fopen("mon fichier", "r");
int x;
int y;
char temp;
fscanf(file("%d%c%d", &x, &temp, &y);

++
0
tezca_system Messages postés 25 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 5 mars 2007
16 janv. 2007 à 12:20
c la solution la plus simple c sur.
Il a une autre methode que je te propose juste par curiosité car je l'ai utilisé dernierement.
struct coord
{
   int x;
   int y;
} point;

FILE * file = fopen("mon fichier", "rb");
fread(&point, sizeof(coord), 1, file);

tu as ainsi recupéré point.x et point.y tu en fais ce que tu veux ensuite.

/*
*"du code pour les connaisseurs pas pour les gros lecheurs"
*"j'reste underground du moment qu'j'reste integre que *microsoft me tienne bien le zgeg"
*/
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
16 janv. 2007 à 12:35
tezca_system => ma méthode suppose que le fichier et un fichier texte (editable avec notepad par exemple), toi c'est que c'est un fichier binaire (que tu peux pas éditer dans notepad).
++
0
inconnu2nulpar Messages postés 75 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 janvier 2007
16 janv. 2007 à 21:27
merci bcp pour votre aide...Mais dane quel ibclude se trouve fscanf? parce que j'ai 2 erreurs dessus, et j'ai essayé, je pense, ttes les bibliothéque susceptible de la contenir ( stdlib, stdio, conio, string, fstream)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
inconnu2nulpar Messages postés 75 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 janvier 2007
16 janv. 2007 à 21:40
error C2064: term does not evaluate to a function
error C2660: 'fscanf' : function does not take 1 parameters
voici les erreurs...ces pas une question de bibliothéque, mais il y a trop de paramétre dans fscanf. c'est avec ton  code Laurent.
0
inconnu2nulpar Messages postés 75 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 janvier 2007
16 janv. 2007 à 21:40
error C2064: term does not evaluate to a function
error C2660: 'fscanf' : function does not take 1 parameters
voici les erreurs...ces pas une question de bibliothéque, mais il y a trop de paramétre dans fscanf. c'est avec ton  code Laurent.
0
inconnu2nulpar Messages postés 75 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 janvier 2007
16 janv. 2007 à 21:40
error C2064: term does not evaluate to a function
error C2660: 'fscanf' : function does not take 1 parameters
voici les erreurs...ces pas une question de bibliothéque, mais il y a trop de paramétre dans fscanf. c'est avec ton  code Laurent.
0
inconnu2nulpar Messages postés 75 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 janvier 2007
16 janv. 2007 à 21:41
tezca, que représente coord dans ton code? le nombre de ligne dans le fichier texte?
0
inconnu2nulpar Messages postés 75 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 janvier 2007
16 janv. 2007 à 22:00
tezca_system-> Moi j'ai fait un class point
class point
{
private:
public:
 float x;
 float y;
 point(float a,float b);
 point(){};
 ~point(){};
 void operator= (point a);
 void aff();
};

lorsque j'ai modifier ton prog, ben il plante...

voici ton code modifier : 
     lecture(char *fichier)
{
 FILE * file = fopen("fichier", "r");
 point a;
 .........test
 float x,y;
 int i=0;


 char temp;
 while(i<361)
 {
 fread(&a, sizeof(point), 1, file);




 test.ajout(a);// j'ajoute dans un tableau de point les pint ainsi lue
                     //cette methode marche carrectement
 }
 fclose(file);
 return (....);
}

est ce que tu peut m'aider?
PS : le fichier que je lis est un .txt,
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
17 janv. 2007 à 08:50
il y a une faute de frappe dans mon morceau de code ce n'est pas
fscanf(file("%d%c%d", &x, &temp, &y);
mais bien sur
fscanf(file, "%d%c%d", &x, &temp, &y);
dsl pour l'erreur
0
Rejoignez-nous