[C] Pb avec les noms de fichiers en C

Fermé
Jingle - 19 août 2005 à 12:11
 Jingle - 20 août 2005 à 11:59
Bonjour,


J’ai un petit problème en C.
Je souhaite faire un programme me permettant de modifier de façon automatique des pages web. Je m’explique : Je dois écrire plusieurs fois la même chose dans une centaine de pages web.

Mes pages web se nomment de cette manière :

visite1.htm
visite2.htm
visite3.htm
etc…

Je cherche à faire une boucle permettant de modifier le nom des fichiers à ouvrir.

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

int main(void)
{
char *fichier,*travail,*name,t;
int L,i,j,k,f;
long pos;
FILE *f;
k=1;
t=(char)(k+48);

for (f=0; j<100; f++)
{
name="visite" ;
CE QU’IL ME MANQUE pour qu’au
premier passage name= "visite1.htm", 
au deuxième name= "visite2.htm",
ect…
j’ai essayé avec strcat mais je m’en sors pas…..

f=fopen(name, "rb+");
if (f==0)
{
	printf("Le fichier texte est absent, ou n'est pas dans le bon r%cpertoire\n",130);
}
else
{
Mon traitement qui marche déjà (testé sur une page)
}

}(fin de ma grande boucle for pour traiter tout les fichiers)

}
A voir également:

3 réponses

Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 109
19 août 2005 à 12:40
Salut =)

Je dois écrire plusieurs fois la même chose dans une centaine de pages web.
euh... ça ne te dit pas de te mettre au php ?

bon concernant ton code, dans la déclaration de tes variables, utilise un nom différent pour ton entier "f" et ton pointeur sur file "*f".

pour le nom de ton fichier, alloue 14 octets pour le pointeur name, taille la plus grande possible (en comptant le 0 de fin de chaine) et utilise sprintf() pour modifier ta chaine. Commence également ta boucle à 1 car apparement visite0.htm n'existe pas.

ce qui donnerait en gros :
name = malloc(14);
for(i=1; i < 100;i++)
{
    sprintf(name, "visite%d.html",i);
    ModifierFichier(name);
} 
et voili voilou =)

bon courage ++
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
19 août 2005 à 12:41
salut,
sprintf(name, "visiteur%d", j);
Et tu supprimes l'instruction name="visite";
RM: sprintf se trouve dans stdio.h
0
Lu,

Merci a tous ca marche, c'est nikel

thks a lot
0