nanettelmontpel
Messages postés16Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention11 septembre 2007 18 sept. 2005 à 15:35
Merci....!!
Il me reste encore une question..plutôt deux lool
Alors comment signifier au programme que c'est un fichier texte dans lequel j'enregistre, car pour l'insant il n'a pas de type précis.
Ensuite comment récupérer les données de CE fichier. Car dans mon programme je ne peux pas dire le nom du fichier... car on ne sait pas à l'avance quel nom va donner l'utilisateur.. et si je rentre FileName cela ne marche pas car il n'est pas défini à l'avance.
Merci d'avance pour la réponse
ps: je ne sais pas si j'ai été très claire....
dark_naruto25
Messages postés127Date d'inscriptionmardi 23 août 2005StatutMembreDernière intervention 9 mai 2011 18 sept. 2005 à 15:53
pour ta première question, une fois avoir récupérer le nom du fichier,
il suffit de concaténer ".txt" à la fin : strcat(FileName,".txt"); voilà
pour la deuxième question va falloir être plus claire... Qu'est ce que
tu appel "récupérer les données de CE fichier" ? et quand tu dis que ça
ne marche pas, qu'as-tu fais ?
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 18 sept. 2005 à 15:53
Je ne vois pas ou est le probleme.
Tu peux écrire dans n'importe quel type de fichier sans que cela ne pose de probleme.
Meme un fichier sans extension peut accepter du texte.
La seule chose, c'est que tu saches sous quelle forme ces données sont
entrées pour pouvoir les réexploiter, surtout si ce sont des données de
configuration.
Si tu veux absolument donner une extension à ton fichier, l'extension est contenu dans le nom du fichier.
Pour ce qui est du nom du fichier, tu n'as qu'à le stoquer lors de la création, ou le demander à l'utilisateur.
Puis, tu ouvres le fichier (fopen) et lis le contenu (fscanf par exemple)
Si le fichier n'existe pas ou n'a pas pu etre ouvert, fopen te renvoie une erreur, à toi de vérifier.
Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Vous n’avez pas trouvé la réponse que vous recherchez ?
dark_naruto25
Messages postés127Date d'inscriptionmardi 23 août 2005StatutMembreDernière intervention 9 mai 2011 18 sept. 2005 à 16:27
ah ton avie, après cette ligne :
char FileName[30];
quel est le nom du fichier ?
et puis il faut le déclarer (la ligne en bleu) cette variable en
globale, c'est à dire en dehors de toutes fonctions, si tu veux que
toutes tes fonctions s'en serve !
nanettelmontpel
Messages postés16Date d'inscriptiondimanche 5 novembre 2000StatutMembreDernière intervention11 septembre 2007 18 sept. 2005 à 17:02
Bon en gros voilà certaines parties de mon programme....désolée mais je ne suis qu'étudiante... et pas en école d'info.... donc si c'était possible que vous soyez un peu plus clair.. peut être qu'en voyant ce que j'ai écrit ça sera plus clair non?
char FileName[30];
class Personne
{
protected: int Numero;
char nom[30];
public: void Afficher();
void Ajouter();
int getnum();
void Enregistrer(FILE*a);
void Recuperer(FILE*a);
Personne();
};
class Collection
{
protected: Personne tab[100];
int p;// Nombre de personnes effectivement dans la collection
public: Collection();
void Afficher();
void Ajouter();
void Supprimer();
void Enregistrer();
void Recuperer();
};
void Personne::Enregistrer(FILE*a)
{
fprintf(a,"%s\t",nom);
fprintf(a,"%d\n",Numero);
};
void Collection::Enregistrer()
{
FILE*a;int i=0;
cout<<"Entrer le nom du fichier: ";
cin>>FileName;
strcat(FileName,".txt");
a=fopen(FileName,"w");
if(a==NULL) printf("PROBLEME2");
else
{
for (i=0;i
void Personne::Recuperer(FILE*a)
{
printf("\nok1\n");
fscanf(a,"%s\t",nom);
printf("\nok2\n");
fscanf(a,"%d\n",&Numero);
printf("\nok3\n");
};
void Collection::Recuperer()
{
FILE*a;int i=0;
cout<<"Entrer le nom du fichier a recuperer: ";
cin>>FileName;
strcat(FileName,".txt");
a=fopen("FileName.txt","r");
if(a==NULL) printf("PROBLEME4");
else
{
while(!feof(a))
{
printf("%d",i);
tab[i].Recuperer(a);
i++;
}
p=i;
};
fclose(a);
};
Pour l'instant ça affiche "problème4" c'est donc qu'il ne trouve pas le fichier...
Voilà... désolée.. mais je suis vraiment une grosse boulette ... merci par avance pour le temps que vous prenez à me répondre.. désolée encore .. :s