Récupérer un nombre dans un char en c

KOH -  
cycloop Messages postés 74 Statut Membre -
Bonjour,
je suis en train de créer un client/serveur en c sous windows xp et je voudrais que le client entre de numéro de port dans argv[].
g reussi a recuperer l'ip mais le port sa marche pas.
voila un le bout de code coserné:

//*********************************************************
int main(int argc, char **argv)
{
const char *ip;
int i;
int port;

for(i = 0; i < argc; i++)
{

if(strcmp(argv[i],"-ip")==0)
{

ip = argv[i + 1];

}

if(strcmp(argv[i],"-port")==0)
{

port = argv[i + 1];

}
}
}

//*************************************************

je c'est que c'est normale que sa marche pas mais auriez vous une idée pour convertire un char en int.
exmple :
char *port_char;
int port_int = port_char;

merci davance pour vos reponce a ++.
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. Utilisateur anonyme
     
    Si la chaîne de caractère ne contient qu'un seul nombre, tu peux utiliser la fonction :
    int atoi(char *str);
    0
    1. KOH
       
      la chaine de caractere contien plusieur caracter comme le port 5005 par exemple.
      0
  2. cycloop Messages postés 74 Statut Membre 18
     
    bonjour !
    je me permets de upper le sujet =P j'ai exactement le même problème :

    récupérer un int à partir d'un ddes arguments du main. doonc si quelqu'un a la réponse, c'est bienvenu :)
    merci
    0
    1. Utilisateur anonyme
       
      La réponse a été donnée dans ma première réponse ... Si t'appelles ton programme : MonProg.exe 1234 4567
      Pour récupérer 1234 et 4567 tu peux faire atoi() sur tes arguments 1 et 2 (parce que le 0 est le nom du programme).
      0
  3. samsouma04 Messages postés 66 Statut Membre 1
     
    tu peus utiliser la fonction Format ca pourrait convertir int en CString
    exemple
    CString S;
    int *u;
    u=NULL;
    S.Format(_T("%d"),u);
    0
    1. Utilisateur anonyme
       
      Peut-être que ton truc fonctionne mais n'est pas du langage C..
      0
  4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Oui mais ça ne fait pas partie du C ;).
    En C, tu peux utiliser atoi, ou strtol de stdlib.h
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. samsouma04 Messages postés 66 Statut Membre 1
     
    mais si ca fais partie du C et je viens de lutiliser avc ;-)))visual Studio C++ (MFC)
    g travailler ce sujet ds un de mes petits projet si tu ve tu mdonne ton email jtenvoie le code ca pourra surement taider
    0
  7. cycloop Messages postés 74 Statut Membre 18
     
    merci pour vos réponses. effectivement, l'a réponse avait été donné, j'avais mal lu ce que répondais koh à ton 1er message et pensais qu'il disait que ça ne fonctionnait pas. merci encore.

    cyclop
    0