Bonjour
Mon programme est suppose accepter des lignes de commandes et d'ecrire continuellement sur un fichier specifie l'utilisateur.
probleme 1: J'arrive pas a utiliser fgets() au lieu de gets().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 2: Le fichier est suppose contenir toutes les lignes de commande entrees, pourquoi il ne contient que la premiere ?
Merci de m'eclairer
Partager