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 :

Remplir une chaîne de caractère dans un tableau


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Remplir une chaîne de caractère dans un tableau
    Je cherche à remplir une str dans un tab.
    La chaîne de caractère représente un rectangle.
    Que pensez-vous de mon code ?

    nb_lines = nombre de lignes.
    i = largeur d'une ligne précedemment calculée.

    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
     
      tab = malloc(sizeof(char) * (i * nb_lines));
      y = 0;
      while (*str != '\0')
        {
          x = 0;
          while (*str != '\n' && *str != '\0')
            {
              tab[y * i + x] = *str;
              x++;
              str++;
            }
          if (*str == '\n')
            str++;
          y++;
        }
    Merci.

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    sizeof(char) vaut par définition toutjours 1 donc inutile de plus pourrais tu poster un code qui compile avec tout ce qui va bien.
    Cordialement.
    "The quieter you become, the more you are able to hear"
    "Plus vous êtes silencieux, plus vous êtes capable d'entendre"

  3. #3
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Citation Envoyé par Windsor123 Voir le message
    Je cherche à remplir une str dans un tab.
    La chaîne de caractère représente un rectangle.
    Que pensez-vous de mon code ?
    J'avoue ne pas bien comprendre ce que tu veux obtenir. Apparemment, suivant le code, je suppose que tu veux placer chaque ligne de la chaîne dans un tableau 2D de char traité comme tableau 1D. Dans ce cas, chaque ligne copiée devrait être terminée par 0

    Exemple : avec i = 5 et nb_lines = 6

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Chaîne d'entrée "abcd\ne\n\nfg"
    
    tab : 'a','b','c','d',0,  'e',0,---  0,----   f','g',0--,  0----,  0----
    Est-ce cela ?
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  4. #4
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut Si je ne me trompe
    En effet le code que vous venez de taper correspond bien à ce que tu veux faire sauf au cas où « i » n’est pas la valeur max des caractères que contient les lignes car vous risquez de déborder du tableau tab en plus du fait que vous laisser des cases vides dont le nombre correspond à i moins le nombre de caractères par lignes à cause de y et si par hasard ce vide contient ‘\0’ alors à l’affichage ce tableau ne contiendra que la première ligne
    rien pour l'instant

  5. #5
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    D'après ce que j'ai compris, ton code sert juste à enlever les "\n" de la chaine de caractères.

    C'est ça?

Discussions similaires

  1. [MySQL] Remplacer une chaîne de caractères dans une base de données
    Par Furius dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/11/2013, 21h06
  2. Rechercher une chaîne de caractère dans une série de fichier
    Par Edoxituz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/02/2006, 12h51
  3. Réponses: 7
    Dernier message: 14/12/2005, 09h53
  4. Remplacer une chaîne de caractères dans une base
    Par Furius dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/10/2005, 23h03
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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