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 :

utilisation substring


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Par défaut utilisation substring
    bonjour,

    j'ai une chaine string1 de 9 cararctères dont je veux écrire les 4 premiers dans une chaine string2...est ce que qqn peut m'écrire l'utilisation de substring dans ce cas en C. je trouve pas d'exemple précis en C sur le net....merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    char string1[] = "n'importe quoi de plus de 4 caractères";
    char string2[5];
     
    memcpy(string2, string1, 4);
    string2[4] = 0;

  3. #3
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Je connais pas substring, en fait il n'existe meme pas (pas d'apres le man en tout cas)

    Sinon pour faire ce que tu veux une simple boucle suffit

    Arf : ben voir le post de loufoque

    Ou meme strncpy

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: utilisation substring
    Citation Envoyé par yannickrohel
    j'ai une chaine string1 de 9 cararctères dont je veux écrire les 4 premiers dans une chaine string2...est ce que qqn peut m'écrire l'utilisation de substring
    N'existe pas.
    dans ce cas en C. je trouve pas d'exemple précis en C sur le net....merci
    Une utilisation astucieuse de strncat() permet ça. Bien lire la doc...

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Skyrunner
    Ou meme strncpy
    Piegeux... Mais pas plus que memcpy()...

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    strncat est pratique en effet, car non seulement il n'y aura pas de soucis si la chaîne fait moins de 4 caractères mais en plus le '\0' final sera automatiquement ajouté.

  7. #7
    Membre émérite Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Par défaut
    Comme skyrunner te l'a suggéré, il te suffit d'écrire une simple boucle dans ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    main()
    {
    char string1[] = "voici un simple exemple";
    char destination[5]; 
     
    for (int i=1; i<6; i++)
    {
    string1[i]=destination[i];
    }
    }

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par reggae
    Comme skyrunner te l'a suggéré, il te suffit d'écrire une simple boucle dans ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    main()
    {
    char string1[] = "voici un simple exemple";
    char destination[5]; 
     
    for (int i=1; i<6; i++)
    {
    string1[i]=destination[i];
    }
    }
    Et le zéro final, il tombe du ciel ?

  9. #9
    Membre émérite Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Par défaut
    Et le zéro final, il tombe du ciel ?
    C'est exact, il manque le zéro final!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    main()
    {
    char string1[] = "voici un simple exemple";
    char destination[5];
     
    for (int i=0; i<3; i++)
    {
    string1[i]=destination[i];
    }
    destination[4] = '\0';
    }
    -->Oopppsss

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

Discussions similaires

  1. [MySQL] Utiliser substring d'un champ indexé dans une jointure.
    Par Anonymus dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/11/2014, 12h59
  2. Runtime Error en utilisant SubString
    Par kellerman_com dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/04/2009, 09h53
  3. probleme utilisation substr
    Par calitom dans le forum Requêtes
    Réponses: 15
    Dernier message: 16/11/2007, 11h25
  4. [XPath] Utilisation de substring
    Par ciel65 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/12/2006, 11h26
  5. [VB6] utiliser les fcts (replace,SubString,..) d'sql
    Par chagala dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 07/05/2006, 10h36

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