Bonjour,

Je désire écrire une fonction qui me renvoit le nom du username et hostname (sous linux) dont 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
15
16
 
#include "string.h"
#include "stdlib.h"
#include "stdio.h"
#include "shell.h"
 
char
*prompt(int size) {
     char *user = getenv("USERNAME");
     char* host = getenv("HOSTNAME");
     char invite[200];
     strcpy(invite,user);    // Là, il veut pas
//    strcat(invite,"@");
//    strcat(invite,host);
     return (invite);
}
Compil ok, et segmentation fault à l'exécution ? Si je remplace le getenv(X) par une chaine de caractères, ca fonctionne correctement. Pourtant dans le man de getenv il est dit que la fonction retourne un pointeur sur la valeur recherchée. Sur le man de strcpy, il est dit que le deuxieme parametre (src) doit être un pointeur sur chaine. Tout me parait correct et je ne vois pas ce qui bloque ?