Programmation
Résolu
mathias93100
Messages postés
5
Statut
Membre
-
mouradinfo Messages postés 32 Statut Membre -
mouradinfo Messages postés 32 Statut Membre -
Bonjour,
je suis actuellement en stage et je dois créer un programme en C qui affiche grace a la commande telnet la frequence recu. le programme marche tres bien mais je dois enregistrer les differentes frequence dans un fichier texte et je n y arrive pas. la frequence est calculée a partir d'une lame mise en oscillation branchée sur le pic AD7870. est il possible a partir du programme dans le pic qu il crée un fichier texte et enregistre les valeur dedans.
voici le programme que j'ai fait pour enregistrer les donnée:
int Creer_txt()
{
FILE *fichier_resultat;
fichier_resultat = fopen("C:\\fichier_resultat.xls ","w");
fputs ("%d", Frequence);
fclose(fichier_resultat);
return 0;
}
merci de m'aider
je suis actuellement en stage et je dois créer un programme en C qui affiche grace a la commande telnet la frequence recu. le programme marche tres bien mais je dois enregistrer les differentes frequence dans un fichier texte et je n y arrive pas. la frequence est calculée a partir d'une lame mise en oscillation branchée sur le pic AD7870. est il possible a partir du programme dans le pic qu il crée un fichier texte et enregistre les valeur dedans.
voici le programme que j'ai fait pour enregistrer les donnée:
int Creer_txt()
{
FILE *fichier_resultat;
fichier_resultat = fopen("C:\\fichier_resultat.xls ","w");
fputs ("%d", Frequence);
fclose(fichier_resultat);
return 0;
}
merci de m'aider
Configuration: Windows XP Internet Explorer 6.0
9 réponses
-
houlà que de supposisitons !
déjà, il faut bien le double anti slach rap trap, sinon, le f sera considérer comme un caractère particulier à interpréter.
int Creer_txt()
{
FILE *fichier_resultat;
fichier_resultat = fopen("C:\\fichier_resultat.xls ","w");// tu effacera le précédent fichier à chaque apel de la fonction
fputs ("%d", Frequence); // il manque l'endroit ou écrire non ? Attention à frequence en global aussi.
fclose(fichier_resultat);
return 0;
}
Voila ce que je te propose :int Creer_txt(int Frequence) { FILE *fichier_resultat; fichier_resultat = fopen("C:\\fichier_resultat.xls ","a"); if(fichier_resultat==0)return -1; fprintf(fichier_resultat,"%d ", Frequence); fclose(fichier_resultat); return 0; } -
je voi pas ce qui cloche. a moins que...
remplace la 2iem ligne de ta fonction par :
fichier_resultat = fopen("C:\fichier_resultat.xls ","w"); -
Bonjour,
Je pense que ton code est bon mais est-il normal que tu veuilles écrire dans un fichier avec une extention .xls ? -
Salut
Est ce que Fréquence est déclarée en globale sinon il faut la passer en paramètre dans ta fonction.
Tu devrai l'ouvrir en ajout si tu veux mettre toutes tes valeurs:"a"
.
Contrairement à "w" qui efface " a " écrit au bout et créer si le fichier n'existe pas.
Apparemment tu peux enlever le int de début de fonction et mettre void pour te débarrasser du return inutile, ou t'en servir pour renvoyer une valeur qui te dira si l'écriture dans le fichier est réussie
Mich -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
je pense que
fichier_resultat = fopen("C:\fichier_resultat.xls ","w");
ne peut pas marcher ouvre ton fichier .xls avec le bloc note et tu comprendra pourquoi -
merci beaucoup pour vos aides ,
je vais faire les modifications est je vous tiens au courant
merci -
je viens d'essayer les modifications et ca ne marche toujours pas.
est ce qu'il faut une librairie spéciale pour fprint parcequ'il me met une erreur.
est ce que dans ma fonction principale je dois rappelé la fonction creer_txt comme ceci
void main ()
{
creer_txt();
} -
oui, pour fprintf(), il faut <sdtio.h>.
Si on reprend ta fonction, et exepté qu'il faut un "C" majuscule à "creer" : oui.
Dans le cas de la fonction que je te propose, il faut appeler comme suis :
Creer_txt(a); où "a" est la fréquence que tu veux enregistré.
Là, je te donne des réponses en C standard, je ne sais pas si tu peux créer un fichier sur un PIC, le souci viens peut être de là. -
le chemin et normalemnt faux,il faut pas copier coller de l'adresse de widows
donc changer le chemin
fopen("c:\...........\................\...........`..............\.............\.......","w");
w:supprimer l'encien contenu.
a:ajouter au fichier au dernier.
bon courage