Fonction en C qui charge et sauvegarde

sisimouhamed -  
HACKER 712 Messages postés 1282 Date d'inscription   Statut Contributeur Dernière intervention   -
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

4 réponses

bizu53 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   861
 
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   Statut Contributeur Dernière intervention   255
 
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Contributeur Dernière intervention   255 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
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   Statut Contributeur Dernière intervention   1 846 > HACKER 712 Messages postés 1282 Date d'inscription   Statut Contributeur Dernière intervention  
 
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   Statut Contributeur Dernière intervention   255 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
oui, c bien ce que je pensais...
merci en tout cas.
0
Steph_45
 
> 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   Statut Contributeur Dernière intervention   255
 
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