IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

concatener deux chaines


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 16
    Par défaut concatener deux chaines
    bonsoir tout le monde;

    je veux ouvrir le tube nommé de chaque utilisateur lorsqu il accède à mon prgm!!
    sachant que chacun a un tube "fifo" dans un ss_repertoire à son nom dans un répertoire commun déjà crée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    char *c;
                   char k[];
                   int ptf;
                   c=getenv("USER");
                    k=strcat("../",c);
    		if(ptf=open(strcat(k,"/fifo"),O_WRONLY))==-1){ 
    			perror("erreur d ouverture en ecriture");
    			exit(1);}
              		}
    mais le strcat ne fonctionne pas!!
    parce que apparemment il faut que je les concatène à l aide de cette fonction et si je met directement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ptf=open ("../getenv("USER")/fifo",O_WRONLY)==-1
    ça ne fonctionne pas aussi

    merci pour votre aide

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    cela métonne que cela compile sans erreur ni warning, ta variable k à une taille inconnue.

    Pour bien faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char k[1024];
    sprintf(k, "../%s/fifo", getenv("USER"));
    if(ptf=open(k,O_WRONLY))==-1)
    Ce bout de code est bien à améliorer car il n'y a aucun contrôle sur la validité du pointeur retourné par getenv("USER")
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 16
    Par défaut
    ok merciiii j essaye ça et je vous tiendrai au courant

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 16
    Par défaut
    mais une petite question!!
    si je remplace mon code par le votre je n ai plus besoin du pointeur *c
    vu que moi je l ai mise juste pour lui affecter le getenv("USER")
    alors que vous vous l utilisez directement
    c est ça?

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Dans mon code, effectivement, il n'y en a plus besoin mais je n'ai pas fait de contrôle de la validité du getenv().

    Ce que tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char *c;
       c = getenv("USER");
       if(c == NULL)
       {
          /* traitement de l'erreur */
       }
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 16
    Par défaut
    ahhh d accord!!
    ça marche en tout cas!!
    je vous remercie infiniment -->vous me sauvez la vie
    bonne journée..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. concatené deux chaine de caractère
    Par solo190 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 29/07/2011, 12h48
  2. concatener deux chaines
    Par elgeek dans le forum Débuter
    Réponses: 3
    Dernier message: 31/10/2010, 23h46
  3. Concatener deux chaines simple
    Par Zouko dans le forum Développement
    Réponses: 3
    Dernier message: 03/06/2008, 10h27
  4. Concaténer deux fichiers Ligne/Ligne avec SH
    Par guiltouf dans le forum Linux
    Réponses: 7
    Dernier message: 22/05/2007, 14h35
  5. Script test de deux chaine avec if
    Par kacedda dans le forum Linux
    Réponses: 6
    Dernier message: 02/05/2003, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo