ecrire dans un fichier avec une fonction de type "void"
Bonjour chers amis, je suis entrain de mettre en place un programme qui crée un fichier a l'endoit ou on l'indique, puis genere des chiffres qu'on lui demande a l'interieur du fichier.
voici comment le programme marche:
1) on te demande de creer un fichier a l'endroit où tu souhaite : /endroit_a_enregistrer/nom_du_fichier;
2) grâce à l'appel de la fonction 'generate()', on te demande combien de chiffres cherche tu a generer?
apres avoir entré le nom du fichier et le nombre a generer, mon fichier doit etre remplit d'un nombre aleatoire compris en 0-9
mais lorsque j'appel la fonction "fprintf(fichier, generate());" au niveau du code source et que je compile j'ai cette erreur :
gcc -o dico dico.c -lm
dico.c: In function ‘main’:
dico.c:21:5: error: invalid use of void expression
fprintf(fichier, generate());
à ma façcon de comprendre je pense la fonction "fprintf" n'arrive pas a traiter le generate(). si il ya d'autres explication j'en ai vraiment besoin.
comment y remedier afin de pouvoir ecrir dans mon fichier grace a la fonction 'generate()'??????
le code source est tout en bas!
Merci pour vos reponse, je suis en attente :roll::roll::(:(
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define LG_CHAINE 1000
void generate();
int main(void){
char chaine[LG_CHAINE] = "";
FILE* fichier = NULL;
printf("input your directory file to save\n");
printf("for example '/directory/file_to_save':");
scanf("%s", &chaine);
fichier = fopen(chaine, "a+");
generate();
if (fichier != NULL)
{
fprintf(fichier, generate());
printf("File created with success!\n");
fclose(fichier);
}
else
printf("creating file failed, try again later!\n");
return 0;
}
void generate(){
int nbre = 0;
int resultat = 0;
printf("How number do you want to generate?:");
scanf("%d", &nbre);
srand(time(NULL));
for (int i = 0; i < nbre; i++)
resultat = rand()%10;
} |