Fonction en C qui charge et sauvegarde

Fermé
sisimouhamed - 21 mai 2009 à 20:33
HACKER 712 Messages postés 1282 Date d'inscription lundi 15 décembre 2008 Statut Contributeur Dernière intervention 10 décembre 2009 - 22 mai 2009 à 20:42
Bonjour,
je voudrais savoire que faire réellement la fonction fscanf et la fonction fprintf.Je pensse que la fonction fscanf sert à sauvegarder des données qui se trouve dans un fichier en memoire centrale et que fprintf sert à charger des donées dans un memoire centrale à un fichier.Merci de m'aider je compte sur vous
A voir également:

4 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
22 mai 2009 à 00:18
fscanf() fonctionne comme la fonction scanf() sauf qu'au lieu de prendre comme entrée une saisie clavier, elle prend le contenu du fichier passé en paramètre.

fprintf() fonctionne comme la fonction printf() sauf qu'au lieu d'écrire dans la console, elle écrit dans le fichier.

Pour plus d'infos :
https://www.microsoft.com/en-us/download/details.aspx?id=55979
https://www.microsoft.com/en-us/download/details.aspx?id=55979
1
HACKER 712 Messages postés 1282 Date d'inscription lundi 15 décembre 2008 Statut Contributeur Dernière intervention 10 décembre 2009 255
22 mai 2009 à 09:07
oui, c'est ca :

ex :

//directives de processeur

int main() {

FILE *fichier = NULL;
int nombreAllumettes = 15;
char texteRecupere[100];
char caractere = 0;
int i;

fichier = fopen("texte.txt", "r+");
if(fichier == NULL)
return -1;

else if(fichier != NULL){
fprintf(fichier, "tu as %ld allumettes dans ta boite !", nombreAllumettes);

rewind(fichier); // on met le curseur au debut, on sait jamais...

for(i=0 ; caractere != EOF ; i++) {
caractere = fgetc(fichier); // on recupere tous les caracteres, autre facon de faire qu'avec fscanf...
texteRecupere[i] = caractere;
}

printf("%s", texteRecupere); // cela va affichier en console le texte du fichier : tu as 15 allumettes dans ta boite !


return 0;
}




en fait, fprintf est utile si tu as besoin d'utiliser des variables ou autre.
car fputs marche tres bien aussi, mais ecrire
fputs("coucou %s !", fichier, prenom);

est completement faux !
fputs sert quand tu veux juste rentrer du texte;
fputc sert quand tu veux rentrer un caractere;
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
22 mai 2009 à 19:33
Salut,

return -1; ce n'est pas standard. On retourne EXIT_FAILURE (qui vaut 1 souvent).

fprintf(fichier, "tu as %ld allumettes dans ta boite !", nombreAllumettes);
%ld, c'est pour les long. Ta variable est un int, donc il faut mettre %d..0

rewind(fichier); // on met le curseur au debut, on sait jamais...
Si si on sait ;-))). La norme te garantie que le pointeur de flux sera au début du fichier.
0
HACKER 712 Messages postés 1282 Date d'inscription lundi 15 décembre 2008 Statut Contributeur Dernière intervention 10 décembre 2009 255 > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
22 mai 2009 à 19:38
Ok, mais ou peut on savoir toutes ces précisions ?
probablement le "man printf" ?

c un peu compliqué... ce man
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844 > HACKER 712 Messages postés 1282 Date d'inscription lundi 15 décembre 2008 Statut Contributeur Dernière intervention 10 décembre 2009
22 mai 2009 à 20:15
Oui, tout simplement en lisant le man.
Par exemple, man fopen :
DESCRIPTION
 ...
       r+     Ouvre le fichier en lecture et écriture. Le pointeur de flux
              est placé au début du fichier.
0
HACKER 712 Messages postés 1282 Date d'inscription lundi 15 décembre 2008 Statut Contributeur Dernière intervention 10 décembre 2009 255 > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
22 mai 2009 à 20:42
oui, c bien ce que je pensais...
merci en tout cas.
0
> je voudrais savoire que faire réellement la fonction fscanf

Et Google et MSDN, c'est pour les chiens ?!
Et écrire en français, merci.
0
HACKER 712 Messages postés 1282 Date d'inscription lundi 15 décembre 2008 Statut Contributeur Dernière intervention 10 décembre 2009 255
22 mai 2009 à 19:28
pourquoi tu dis ca :


"> je voudrais savoire que faire réellement la fonction fscanf

Et Google et MSDN, c'est pour les chiens ?!
Et écrire en français, merci."

??
-1