Remplir tableau fichier txt en C
sophie_m
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
sophie_m Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
sophie_m Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voila je programme en C j'ai un tableau rempli en dur qui contient des chaines de caractère :
exemple :
char *MesMes[] =
{
/* 0 ID_POINT_INTER4 0 */ "????",
/* 1 ID_FORMATAGE 1 */ "Formatage ......",
/* 2 ID_CONDUCTEUR 2 */ "CONDUCTEUR :",
/* 3 ID_PRISE_DE_SERVICE 3 */ " PRISE DE SERVICE ",
...
}
Je voudrais mettre tout ca dans un fichier texte et ensuite grace a une fonction remplir le tableau grace à ce fichier.
Je n'ai aucune idée de quelle fonction utiliser pour lire le fichier texte, ou placer une à une les chaine de caractères dans le tableau.
Toute aide sera la bienvenue.
Merci d'avance
voila je programme en C j'ai un tableau rempli en dur qui contient des chaines de caractère :
exemple :
char *MesMes[] =
{
/* 0 ID_POINT_INTER4 0 */ "????",
/* 1 ID_FORMATAGE 1 */ "Formatage ......",
/* 2 ID_CONDUCTEUR 2 */ "CONDUCTEUR :",
/* 3 ID_PRISE_DE_SERVICE 3 */ " PRISE DE SERVICE ",
...
}
Je voudrais mettre tout ca dans un fichier texte et ensuite grace a une fonction remplir le tableau grace à ce fichier.
Je n'ai aucune idée de quelle fonction utiliser pour lire le fichier texte, ou placer une à une les chaine de caractères dans le tableau.
Toute aide sera la bienvenue.
Merci d'avance
A voir également:
- Remplir tableau fichier txt en C
- Fichier bin - Guide
- Tableau word - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
38 réponses
#incluide <stdio.h>
#include <string.h>
#define TAILLE_MAX = 100
void init_tab()
{
int i=0;
char* chaine[TAILLE_MAX];
char* buffer;
FILE * f = NULL;
f = fopen("essai.txt","r");
if ((f !=NULL)
{
while ( fgets (f, TAILLE_MAX,buffer))
{
stcpy(buffer, MesPrt[i]);
i++;
}
fclose(fichier);
}
}
#include <string.h>
#define TAILLE_MAX = 100
void init_tab()
{
int i=0;
char* chaine[TAILLE_MAX];
char* buffer;
FILE * f = NULL;
f = fopen("essai.txt","r");
if ((f !=NULL)
{
while ( fgets (f, TAILLE_MAX,buffer))
{
stcpy(buffer, MesPrt[i]);
i++;
}
fclose(fichier);
}
}
oula c encore pire avec ton code :
"main.c", line 23 pos 6; (W) [ANSI] missing prototype for "init_tab"
"main.c", line 25 pos 6; (W) [ANSI] missing prototype for "init_tab"
"main.c", line 28 pos 21; (E) syntax error; unexpected symbol: "="
"main.c", line 30 pos 11; (E) invalid array size
"main.c", line 30 pos 10; (E) syntax error; unexpected symbol: "="
"main.c", line 30 pos 1; (E) undeclared identifier "FILE"
"main.c", line 30 pos 8; (E) undeclared identifier "f"
"main.c", line 35 pos 1; (E) syntax error; unexpected symbol: "{"
"main.c", line 36 pos 26; (E) syntax error; unexpected symbol: "="
"main.c", line 36 pos 9; (W) [ANSI] missing prototype for "fgets"
"main.c", line 38 pos 1; (W) [ANSI] missing prototype for "stcpy"
"main.c", line 38 pos 15; (E) undeclared identifier "MesPrt"
"main.c", line 41 pos 1; (W) [ANSI] missing prototype for "fclose"
"main.c", line 41 pos 8; (E) undeclared identifier "fichier"
"main.c", line 23 pos 6; (W) [ANSI] missing prototype for "init_tab"
"main.c", line 25 pos 6; (W) [ANSI] missing prototype for "init_tab"
"main.c", line 28 pos 21; (E) syntax error; unexpected symbol: "="
"main.c", line 30 pos 11; (E) invalid array size
"main.c", line 30 pos 10; (E) syntax error; unexpected symbol: "="
"main.c", line 30 pos 1; (E) undeclared identifier "FILE"
"main.c", line 30 pos 8; (E) undeclared identifier "f"
"main.c", line 35 pos 1; (E) syntax error; unexpected symbol: "{"
"main.c", line 36 pos 26; (E) syntax error; unexpected symbol: "="
"main.c", line 36 pos 9; (W) [ANSI] missing prototype for "fgets"
"main.c", line 38 pos 1; (W) [ANSI] missing prototype for "stcpy"
"main.c", line 38 pos 15; (E) undeclared identifier "MesPrt"
"main.c", line 41 pos 1; (W) [ANSI] missing prototype for "fclose"
"main.c", line 41 pos 8; (E) undeclared identifier "fichier"
ouai c'est normal tu compile avec la norme ANSI, il y a un autre probleme c'est que ton tableau tu le retourne nul part donc je te conseil de le declarer en variable globale
#incluide <stdio.h>
#include <string.h>
#define TAILLE_MAX = 100
char* chaine[TAILLE_MAX];
void init_tab(void)
{
int i=0;
char* buffer;
FILE * f = NULL;
f = fopen("essai.txt","r");
if ((f !=NULL)
{
while ( fgets (f, TAILLE_MAX,buffer))
{
stcpy(buffer, chaine[i]);
i++;
}
fclose(fichier);
}
}
voila ca devrai allé mieu oublie pas les
#incluide <stdio.h>
#include <string.h>
#incluide <stdio.h>
#include <string.h>
#define TAILLE_MAX = 100
char* chaine[TAILLE_MAX];
void init_tab(void)
{
int i=0;
char* buffer;
FILE * f = NULL;
f = fopen("essai.txt","r");
if ((f !=NULL)
{
while ( fgets (f, TAILLE_MAX,buffer))
{
stcpy(buffer, chaine[i]);
i++;
}
fclose(fichier);
}
}
voila ca devrai allé mieu oublie pas les
#incluide <stdio.h>
#include <string.h>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
non ca ne marche toujours pas.
et c'est bizar dans ton code mon tableau MesPrt a disparu.
"main.c", line 23 pos 6; (W) [ANSI] missing prototype for "init_tab"
"main.c", line 44 pos 21; (E) syntax error; unexpected symbol: "="
"main.c", line 57 pos 8; (E) invalid array size
"main.c", line 51 pos 10; (E) syntax error; unexpected symbol: "="
"main.c", line 51 pos 1; (E) undeclared identifier "FILE"
"main.c", line 51 pos 8; (E) undeclared identifier "f"
"main.c", line 56 pos 1; (E) syntax error; unexpected symbol: "{"
"main.c", line 57 pos 26; (E) syntax error; unexpected symbol: "="
"main.c", line 57 pos 9; (W) [ANSI] missing prototype for "fgets"
"main.c", line 59 pos 1; (W) [ANSI] missing prototype for "stcpy"
"main.c", line 62 pos 1; (W) [ANSI] missing prototype for "fclose"
"main.c", line 62 pos 8; (E) undeclared identifier "fichier"
et c'est bizar dans ton code mon tableau MesPrt a disparu.
"main.c", line 23 pos 6; (W) [ANSI] missing prototype for "init_tab"
"main.c", line 44 pos 21; (E) syntax error; unexpected symbol: "="
"main.c", line 57 pos 8; (E) invalid array size
"main.c", line 51 pos 10; (E) syntax error; unexpected symbol: "="
"main.c", line 51 pos 1; (E) undeclared identifier "FILE"
"main.c", line 51 pos 8; (E) undeclared identifier "f"
"main.c", line 56 pos 1; (E) syntax error; unexpected symbol: "{"
"main.c", line 57 pos 26; (E) syntax error; unexpected symbol: "="
"main.c", line 57 pos 9; (W) [ANSI] missing prototype for "fgets"
"main.c", line 59 pos 1; (W) [ANSI] missing prototype for "stcpy"
"main.c", line 62 pos 1; (W) [ANSI] missing prototype for "fclose"
"main.c", line 62 pos 8; (E) undeclared identifier "fichier"
#incluide <stdio.h>
#include <string.h>
#define TAILLE_MAX = 100
char* chaine[TAILLE_MAX];
void init_tab(void)
{
int i=0;
char* buffer;
FILE * f = NULL;
f = fopen("essai.txt","r");
if ((f ==NULL)return;
while ( fgets (f, TAILLE_MAX,buffer))
{
stcpy(buffer, chaine[i]);
i++;
}
fclose(f);
}
int main(void){
init_tab();
return 0;
}
voila copie ca mot pour mot dans un nouveau fichier ca devrai marcher
tu n'as pas fait de .h ?
#include <string.h>
#define TAILLE_MAX = 100
char* chaine[TAILLE_MAX];
void init_tab(void)
{
int i=0;
char* buffer;
FILE * f = NULL;
f = fopen("essai.txt","r");
if ((f ==NULL)return;
while ( fgets (f, TAILLE_MAX,buffer))
{
stcpy(buffer, chaine[i]);
i++;
}
fclose(f);
}
int main(void){
init_tab();
return 0;
}
voila copie ca mot pour mot dans un nouveau fichier ca devrai marcher
tu n'as pas fait de .h ?
un point h pour mettre le proto? non. Je voulais le mettre juste au dessu de la fonction moins compliqué
#include <stdio.h>
#include <string.h>
#define TAILLE_MAX =100
char*chaine[100];
void init_tab(void)
{
int i=0;
char* buffer;
FILE * f = NULL;
f = fopen("essai.txt","a+");
if (f ==NULL)return;
while( fgets(buffer,100 ,f)){
strcpy(chaine[i],buffer);
i++;
}
fclose(f);
}
int main(void){
init_tab();
return 0;
}
voila ça, ça marche chez moi
#include <string.h>
#define TAILLE_MAX =100
char*chaine[100];
void init_tab(void)
{
int i=0;
char* buffer;
FILE * f = NULL;
f = fopen("essai.txt","a+");
if (f ==NULL)return;
while( fgets(buffer,100 ,f)){
strcpy(chaine[i],buffer);
i++;
}
fclose(f);
}
int main(void){
init_tab();
return 0;
}
voila ça, ça marche chez moi
merci beaucoup pour tout ce que tu as fais mais chez moi ca ne marche pas. ca doit venir de tout le code qu'il y a à coté.Donc ca serait vraiment trop long a expliquer.Mais des que ca marche je met le morceau de code.Merci pour tout Kazou.