J'ai ce fichier :vhosts.conf dans le contenu est le suivant:

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
 
#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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
printf("%s",val); // affichage sans problème
 
 virtualhost[]= val; // affection impossible erreur
Merci de votre aide