Comment accéder aux données spécifiques dans une fichier en lang

Signaler
Messages postés
17
Date d'inscription
mardi 30 septembre 2014
Statut
Membre
Dernière intervention
21 janvier 2015
-
 patchouramria -
salut ,je une probleme en langage c,mon fichier.txt comporte des chaines des caractéres w des coordonnées de client et d'autre chaine des caractére,alors j'aimerai remplir ma matrice par ces coordonnées qui existe dans le fichier et le probléme comment accéder aux coordonnées seulement ou directement ,c'est urgent svp... et mrcie à touts

9 réponses

Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Hello,

Il y a plusieurs questions dans ta question. Qu'est-ce qui te pose problème exactement? La lecture de fichiers (fopen(), fread(),...)? Le découpage? Le stockage de données?

nom:Pascal
1 2
2 3
3 4
Prenom:Renauld
voilà mon fichier,comment je peux acedér aux entiers seulemnt pour je le remplir dans la matrice
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Ok, la structure est assez simple.
A coup de fopen(), fread() ou même fseek(), ça devrait le faire

merci,mais ca ne marche pas,y'a'il d'autre idée stp
Messages postés
29185
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
335
Ca ne marche pas ?
Mais... qu'as tu essayé au juste ?
Si tu ne nous montre pas le code que tu as écris. .il nous sera difficile de le corriger...

j'aimerai faire une teste sur les chaines des caractéres de toute les fichier et si chaine=="Pascal"alors fscanf (les coordonnées)jusqu'a chaine=="Renauld",mais le probléme comment peut faire cette teste !!
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Alors, déjà, on ne dit pas "ça ne marche pas" mais plutôt "je n'ai pas compris comment faire" ;)

Ensuite, je ne vois pas pourquoi tu as besoin d'un test d'égalité. Néanmoins, tu peux regarder strcmp() et je te conseille de naviguer sur le site pour voir les différentes API à ta disposition.

En passant, un petit tuto à lire pour bien comprendre la mécanique

Merci, je vais faire une autre tentative :)

Bonjour,
C'est ma tentative
while(!feof(f1))
{
fscanf(f1,"%s",&ch1);
if (strcmp(ch1,"prenom")==0)
{
do
{
fscanf(f1,"%d\n",&i);
printf("%d\n",i);

fscanf(f1,"%s",&ch2);
}while(strcmp(ch2,"result")==0);
}
et mon fichier f1.txt
nom
prenom
1
2
3
4
result

cette programme il m'affiche 1 3 3,alors que moi j'aimerai afficher 1 2 3 4 ,je ne comprend pas ma faute,En attente de votre aide et merci :)