Fonction en C qui charge et sauvegarde

sisimouhamed -  
HACKER 712 Messages postés 1463 Statut Contributeur -
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

Utilisateur anonyme
 
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 1463 Statut Contributeur 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 11653 Statut Contributeur 1 847
 
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 1463 Statut Contributeur 255 > fiddy Messages postés 11653 Statut Contributeur
 
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 11653 Statut Contributeur 1 847 > HACKER 712 Messages postés 1463 Statut Contributeur
 
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 1463 Statut Contributeur 255 > fiddy Messages postés 11653 Statut Contributeur
 
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 1463 Statut Contributeur 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