problème d'affection d'une chaine dans une tableau
J'ai ce fichier :vhosts.conf dans le contenu est le suivant:
Citation:
NameVirtualHost *:80
NameVirtualHost 127.0.0.1:80
#Setenv VLOG
<VirtualHost *:80>
.
.
.
je veux placer les valeurs se trouvant devant NameVirtualHost : *:80 et 127.0.0.1:80 dans un tableau :
Code:
1 2 3
|
virtualhost[0]=*:80;
virtualhost[1]=127.0.0.1:80 |
Je parviens à afficher à l'écran après l'extraction *:80 de NameVirtualHost *:80 et 127.0.0.1:80 de NameVirtualHost 127.0.0.1:80.
Cependant je n'arrive pas à sauvegarder ces valeurs dans le tabaleau virtualhost[] comme indiqué un peu plus haut.
Programme d'extraction:
Code:
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
|
#include <stdio.h>
#include <string.h>
char ligne[256] = "";
FILE *fp;
char val[30]="";
char virtualhost[];
int d=0;
int main()
{
if((fp=fopen("vhosts.conf","r+"))!=NULL)
{
while((fgets(ligne, 256, fp) != NULL))
{
if(strstr(ligne,"NameVirtualHost"))
{
int i1=strrchr(ligne,' ')-ligne+1;
int i2=strlen(ligne);
int j=0,i=0;
for(i=i1;i<i2;i++)
{
val[j]=ligne[i];
j++;
}
printf("%s",val);
virtualhost[]= val;
i=0;j=0;d++;
}
}
}
else
printf("ouverture du fichier impossible");
int i=0;
for(i=0;i<d;i++)
{
printf("interface %s\n",virtualhost[d]);
}
} |
Code:
1 2 3 4
|
printf("%s",val); // affichage sans problème
virtualhost[]= val; // affection impossible erreur |
Merci de votre aide