[C] Pb avec les noms de fichiers en C

Jingle -  
 Jingle -
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)

}

3 réponses

  1. Luffy =) Messages postés 366 Statut Membre 110
     
    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
  2. tafiscobar Messages postés 1281 Statut Contributeur 177
     
    salut,
    sprintf(name, "visiteur%d", j);
    Et tu supprimes l'instruction name="visite";
    RM: sprintf se trouve dans stdio.h
    0
  3. Jingle
     
    Lu,

    Merci a tous ca marche, c'est nikel

    thks a lot
    0