Bonjour,

Je souhaite récupérer le nom de ma machine (rien de bien compliqué..)
Je fais donc simplement :
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
 
#include <unistd.h>
 
int main()
{
   char nomMachine[64];
   int err;
 
   err = gethostname(nomMachine,sizeof nomMachine);
   if ( err == 0 )
   {
      /*...*/
   }
   else
   {
      perror("gethostname");
   }
   return err;
}
Je compile...
gcc -Wall -Wextra -Werror -O2 -ansi serveur.c -o serveur
Et là surprise..
cc1: warnings being treated as errors
serveur.c: In function ‘main’:
serveur.c:66: attention : implicit declaration of function ‘gethostname’
Je verifie en faisant un man gethostname...
NOM
gethostname, sethostname - Lire / écrire le nom d’hôte.

SYNOPSIS
#include <unistd.h>

int gethostname(char *nom, size_t lg);
int sethostname(const char *nom, size_t lg);
il suffit donc pourtant bien d'inclure unistd.h, ce que j'ai fait..
Si quelqu'un a une idée pour contrer ce phénomène que je n'explique pas..

Merci pour vos réponses
Sorry