Bonjour à tous!
Après plusieurs recherches plutôt infructueuses, je décide de m'en remettre à vous.
Je dois créer un code en C me permettant de générer une page HTML contenant un trombinoscope, dans le cadre d'un petit programme de gestion des ressources humaines que je dois réaliser pour mes cours.
J'ai donc déjà fait le code que voici :
Dans ce programme, j'entre un nom et un prénom, et celui-ci me génère la page html contenant la photo correspondante. Mais j'ai plusieurs problèmes :
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
46
47
48
49
50
51
52 #include <stdio.h> #include <stdlib.h> #include <windows.h> typedef struct { char nom[25]; char prenom[15]; }Employe; void genereHtml(Employe employe,FILE* pfichier) { printf("Entrez un nom\n"); gets(employe.nom); printf("Entrez un prenom\n"); gets(employe.prenom); fprintf(pfichier,"<td><img src='%s_%s.jpg' alt='%s %s' /></td>",employe.nom,employe.prenom,employe.nom,employe.prenom); } int main() { int test; Employe employe; char ouinon; char fin[]="</tr>\n</table>\n</body>\n</html>\n"; char debut[]="<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>\n<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fr' lang='fr'>\n<head>\n<title>\nTrombinoscope\n</title>\n<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />\n<link rel='stylesheet' media='screen' type='text/css' title='trombi' href='trombi.css' />\n</head>\n<body>\n<h1>Trombinoscope<br/></h1>\n<table>\n"; FILE* pfichier=fopen("testhtml.htm","r"); if(pfichier==NULL) { fclose(pfichier); FILE* pfichier=fopen("testhtml.htm","a+"); fprintf(pfichier,"%s",debut); } else { fclose(pfichier); FILE* pfichier=fopen("testhtml.htm","a+"); } do { genereHtml(employe,pfichier); printf("Une autre personne? (o/n)\n"); fflush(stdin); scanf("%c",&ouinon); fflush(stdin); }while((ouinon=='o')||(ouinon=='O')); fprintf(pfichier,"%s",fin); system("pause"); fclose(pfichier); return 0; }
- Je teste si le fichier existe et c'est là le problème : si il n'existe pas, le programme le crée, il y ajoute la chaîne de caractères début et me demande le nom de la personne, comme d'habitude. Mais lorsque j'ouvre ensuite le fichier html ainsi créé, il contient effectivement la chaîne début, mais la personne n'a pas été ajoutée dans le code, comme si le programme n'avait pas tenu compte dude la procédure "genereHtml".
Code : Sélectionner tout - Visualiser dans une fenêtre à part fprintf(pfichier,"<td><img src='%s_%s.jpg' alt='%s %s' /></td>",employe.nom,employe.prenom,employe.nom,employe.prenom);
J'aimerais donc savoir si vous pouviez m'éclairer là-dessus car je viens d'y passer un après-midi sans comprendre pourquoi ça ne fonctionne pas.
je précise que je débute dans l'édition de fichiers en C.
( Je suis quasiment sûr que j'ai fait une bêtise quelque part, ce serait bien mon genre, mais là je ne trouve pas )
Merci beaucoup d'avance,
Adrilo
Partager