Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
449 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [ C ] - Question sur les tableaux de pointeurs

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ C ] - Question sur les tableaux de pointeurs

n°2288355
Elladan56
Posté le 21-09-2016 à 16:41:57  profilanswer
 

Bonjour,
 
Via divers tuto, j'ai a peu près compris le principe des tableaux de pointeurs, mais je n'arrive pas a faire une petite chose.
 
Je créé un tableau de pointeur :  

Code :
  1. int **tab=NULL;

 
 
Puis dans une boucle, je fais un malloc pour y mettre des chaines de caractères que j'ai récupéré dans un fichier :  

Code :
  1. for(i=0; i<5; i++)
  2. {
  3.             tab[i] = (char *)malloc(TAILLE);
  4.             strcpy(tableauDico[i], ChaineFichier);
  5. }


 
Puis j'essaye d'afficher le tableau entier :  

Code :
  1. void afficherTableau(int *tab)
  2. {
  3.     int i = 0;
  4.     for(i=0; i<5; i++)
  5.     {
  6.         printf("tableau[%d][%s]", i, tab[i]);
  7.         printf("\n\n" );
  8.     }
  9. }


 
Le soucis, c'est que j'ai un caractère en plus a la fin des chaines qui me fait passer une ligne. Normal, c'est le caractère de retour a la ligne présent dans les fichiers.
Donc je cherche a supprimer ce fichier, mais je ne sais pas comment faire, étant donné qu'en C, tout est une suite de char ...
 
J'aimerais ajouter dans la fonction un tab[i][X-1], mais ca ne fonctionne pas.
X correspond a la taille de la chaine de caractère récupéré avec un "strlen".
 
Pourriez vous m'indiquer comment faire ?

mood
Publicité
Posté le 21-09-2016 à 16:41:57  profilanswer
 

n°2288424
theshockwa​ve
I work at a firm named Koslow
Posté le 22-09-2016 à 12:16:02  profilanswer
 

tu dois allouer ton tableau de pointeurs manuellement, avant de le remplir avec les pointeurs sur tes tableaux.
 
Pour ton histoire de chaîne, il faut que tu templaces le caractère de fin de ligne (\n) dans ta chaine par un 0 (les chaines en C sont des chaines "à zéro terminal", ou AZT). Il faut donc que tu modifies la chaine avant de la passer en argument de printf.
 


---------------
last.fm

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [ C ] - Question sur les tableaux de pointeurs

 

Sujets relatifs
Verifier l'état de la fenêtre d'un exe en C #Revenir au C
Crypter un champ en BDD (mais ce n'est pas une question bdd)[SQL] Question sur une requête
Aide sur pointeurs et array en CProg C d'un LCD
VBS question débutantProblème C# récupération de donnée
Comment utiliser ce script ? "question de débutant" 
Plus de sujets relatifs à : [ C ] - Question sur les tableaux de pointeurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR