Ecriture continue sur un fichier
Bonjour
Mon programme est suppose accepter des lignes de commandes et d'ecrire continuellement sur un fichier specifie l'utilisateur.
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 44 45
| #include "header.h"
static FILE *sf;
static char fname[30];
static char com[81];
int newfile ( )
{
char *p;
printf ("\nPlease, specify a filename: " );
gets(fname);
createfile(fname);
return 0;
}
void createfile(char file[]){
sf = fopen(file, "w");
if ( sf != NULL ) {
printf("\nFile \"%s\" created.\n", file);
printf("Enter commands : \n");
fclose (sf);
}
}
void append(char file[]){
sf = fopen(fname,"a");
if ( sf != NULL ) {
fprintf(sf, "%s\n", com);
fclose(sf);
}
}
int main (void) {
printf("Enter commands : \n");
while ( strcmp(com, "quit") != 0 ) {
printf("\t > ");
gets(com);
if (sf == NULL) {
printf("\nError, no script file detected.\n ");
newfile();
append(fname);
}
}
return 0;
} |
probleme 1: J'arrive pas a utiliser fgets() au lieu de gets().
probleme 2: Le fichier est suppose contenir toutes les lignes de commande entrees, pourquoi il ne contient que la premiere ?
Merci de m'eclairer