bonjour à tous,

pour les besoins de mon programme je dois recopier une chaine et mon probleme semble venir de strncpy

voici le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
int events_server(int argc, char **argv)
{
	aServer *serv;
 
        printf("ARGV: %s|%s|(%s)\n", argv[1], argv[5], argv[4]);
	strncpy(serv->name, argv[1], HOSTLEN);
	strncpy(serv->sid, argv[4], SIDLEN);
	strncpy(serv->desc, argv[5], REALLEN);
 
	serv->uptime = time(NULL);
	printf("NEWSERVER: %s|%s|(%s)\n", serv->name, serv->desc, serv->sid);
	return 0;
}
le résultat est le suivant:

ARGV: irc.dirty-system.net|welcome in hell|(97K)
NEWSERVER: irc.dirty-system.net||()
lors de l'affichage avec printf je peux voir que ces elements existent bien mais une fois que j'essai de les recopier dans des variables de ma structure ca ne fonctionne plus

voici la structure:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
typedef struct servinfo
{
	char name[HOSTLEN+1];
	char desc[REALLEN+1];
	char sid[SIDLEN+1];
 
	time_t uptime;
} aServer;
je vous remerci pour votre aide