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 :

Insérer un caractère dans une chaine


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 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut Insérer un caractère dans une chaine
    Salut,

    Quelqu'un connait-il la manière d'insertion de caractrère dans une chaine afin de "formater" celle-ci en lui ajoutant un caractère identique à espace non regulier (ouf) :

    par exemple :

    saisie de votre identifiant
    123456789

    votre identifiant est
    12.34.56.789

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 176
    Par défaut
    si le nombre 123456789 ou autre est une chaine ( donc un tableau de caractère ) il suffit de faire une boucle et de recopier les lettres deux par deux et d'insérer un printf(".") à chaque doublet de lettres

    exemple si le nombre est enregistré dans le tableau nommé " saisie ":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    printf("Votre identifiant est:\n");
    for(i=0 ; i<strlen(saisie) ; i++)
    {
    printf("%c%c.",saisie[i],saisie[i+1]);
    }
    enfin c'est le cas ou saisie est de longueur paire après faut faire le cas impair

  3. #3
    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 NeMo_O
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(i=0 ; i<strlen(saisie) ; i++)
    {
    Attention. Contrairement à certains langages, les chaines C n'ont pas de champ 'longueur', mais une sentinelle (0) après le dernier caractère valide.

    La fonction strlen() fait donc à chaque fois le parcours de la chaine pour compter les caractères et trouver le 0 final, ce qui rend ce code particulièrement peu efficace.

    Il suffit de tester la présence du 0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(i=0 ; saisie[i] != 0 ; i++)
    {

  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
    Citation Envoyé par LE CORRE
    Quelqu'un connait-il la manière d'insertion de caractrère dans une chaine afin de "formater" celle-ci en lui ajoutant un caractère identique à espace non regulier (ouf) :
    Pas à ma connaissance. Il faut écrire la fonction toi même. Parcours, comptage, décision... La difficulté est de spécifier clairement ce que tu veux faire.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut
    La difficulté est de spécifier clairement ce que tu veux faire.


    Donc on doit interpréter la future fonction :

    Chercher la fin de la chaîne
    Calculer trois caractères à partir du repère
    Inserer un point

    Puis avec une boucle jusqu'au début de la chaîne

    Calculer deux caractères à partir du point
    Inserer un point

  6. #6
    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 LE CORRE
    Donc on doit interpréter la future fonction :

    Chercher la fin de la chaîne
    Calculer trois caractères à partir du repère
    Inserer un point

    Puis avec une boucle jusqu'au début de la chaîne

    Calculer deux caractères à partir du point
    Inserer un point
    Ca, c'est ce qu'on appelle un algorithme textuel. Si il correspond à ce que tu veux faire, tu n'as plus qu'à le coder.

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/02/2014, 14h18
  2. Réponses: 22
    Dernier message: 13/11/2011, 19h05
  3. Insérer un caractère dans une chaine de caractères
    Par Yunchi dans le forum Débuter
    Réponses: 1
    Dernier message: 06/04/2009, 17h45
  4. Réponses: 10
    Dernier message: 10/10/2005, 20h46

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