Crée un fichier .txt contenant un code source

mrcho77 Messages postés 2 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 3 juin 2010 - 3 juin 2010 à 10:41
 Utilisateur anonyme - 8 juin 2010 à 11:52
Bonjour,

Voilà tout, je dois créer un fichier .txt en langage C (jusqu'ici ca va)
Dans le fichier .txt il devrai apparaître un code source html ( c'est ici que je bloque)

Donc une fois le fichier .txt crée, il contiendra tout un code (c'est un code source d'une page html)

Ensuite je dois créer des variables ( par exemple qui seront demandées dans la console ), et qui sera donc insérer dans le fichier.txt

Je cherche donc à pouvoir insérer tout un code soure html dans .txt à l'aide du langage C.

Merci d'avance.

4 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
3 juin 2010 à 13:40
Salut,

Je cherche donc à pouvoir insérer tout un code soure html dans .txt à l'aide du langage C.

Tout simplement avec les fonctions d'écriture habituelles. write() si ton fichier à été ouvert avec open(), sinon fwrite(), fprintf() etc si tu as ouvert ton fichier avec fopen().

Bref, rien de bien complexe, le html n'est rien d'autre que tu texte comme un autre. D'ailleurs même des données binaires s'écrivent exactement de la même manière.
0
mrcho77 Messages postés 2 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 3 juin 2010
3 juin 2010 à 13:50
Oui voilà c'est ce que j'ai mis au départ, cependant je n'arrive pas du tout à mettre le code source en utilisant ces fonctions car les guillemets arrêtent la saisie. Car dans le code source il y a toute sorte de symbole qui font que ca arrete le fprint ou fputs ect..

Donc il faudrait une fonction qui prend le code source comme il est..

Merci.
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
3 juin 2010 à 19:01
car les guillemets arrêtent la saisie.

Il suffit d'échaper ce caractère en utilisant le backslash. Exemple :
fprintf(stderr, "", "plop");
0
Utilisateur anonyme
8 juin 2010 à 11:52
Bonjour
Voici le code pour lire écrire dans un fichier à compiler Avec le logiciel Dev-C++
Mette ton fichier .txt ou . html etc.. dans
même dossier
et aussi allez sur le site Du Zéro ??? Bon site pour la programmation simple et efficient


#include <stdio.h>
#include <string.h>

main()
{
/* Déclarations : */
/* Noms des fichiers et pointeurs de référence */
char ANCIEN[30], NOUVEAU[30];
FILE *INFILE, *OUTFILE;
/* Autres variables */
char NOM_PERS[30], NOM_AJOUT[30];
int TROUVE;

/* Ouverture de l'ancien fichier en lecture */
do
{
printf("Nom de l'ancien fichier : ");
scanf("%s", ANCIEN);
INFILE = fopen(ANCIEN, "r");
if (!INFILE)
printf("\aERREUR: Impossible d'ouvrir "
"le fichier: %s.\n", ANCIEN);
}
while (!INFILE);
/* Ouverture du nouveau fichier en écriture */
do
{
printf("Nom du nouveau fichier : ");
scanf("%s", NOUVEAU);
OUTFILE = fopen(NOUVEAU, "w");
if (!OUTFILE)
printf("\aERREUR: Impossible d'ouvrir "
"le fichier: %s.\n", NOUVEAU);
}
while (!OUTFILE);
/* Saisie de l'enregistrement à insérer */
printf("Enregistrement à insérer : ");
scanf("%s",NOM_AJOUT);

/* Traitement */
TROUVE = 0;
/* Copie des enregistrements dont le nom */
/* précéde lexicogr. celui à insérer.*/
while (!feof(INFILE) && !TROUVE)
{
fscanf(INFILE, "%s\n", NOM_PERS);
if (strcmp(NOM_PERS, NOM_AJOUT) > 0)
TROUVE = 1;
else
fprintf(OUTFILE, "%s\n", NOM_PERS);
}
/* Ecriture du nouvel enregistrement, */
fprintf(OUTFILE, "%s\n", NOM_AJOUT);
/* suivi du dernier enregistrement lu. */
if (TROUVE) fprintf(OUTFILE, "%s\n", NOM_PERS);
/* Copie du reste des enregistrements */
while (!feof(INFILE))
{
fscanf(INFILE, "%s\n", NOM_PERS);
fprintf(OUTFILE, "%s\n", NOM_PERS);
}
/* Fermeture des fichiers */
fclose(OUTFILE);
fclose(INFILE);
return 0;
}
0
Rejoignez-nous