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

  FORUM HardWare.fr
  Programmation
  C

  pb avec les char et strcat

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb avec les char et strcat

n°1721934
shirel84
Posté le 22-04-2008 à 15:27:45  profilanswer
 

salut à tous.
j'ai des problèmes avec les "char" . en fait je voulais faire une fonction qui initialise un tableau avec "" . Mais le problème c'est que quand j'utilise un seul p[ ] , dans ma 2ème fonction quand je modifie une case toutes les cases sont modifiées .J'ai essayé de faire avec un p2[ ] et là il modifie qu'un seule case. Mais comment je peux faire pour initialisé mon tableau ??car normalement je devrais avoir un tableau de 256 cases. car je peut pas faire de p[ ] a p256 [ ]. si qq1 pourrai m'aider car je vois vraiment pas comment faire
je vous remercie d'avance :)  
 
voici le code :
Code :
 
 
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
#include<sys/stat.h>
 
void initialisation(char *tab[],int taille){
 
int i;
char p[2560]="";
char p2[2560]="2";
for(i=0; i<taille-1 ; i++){
tab[i] =p;
}
tab[taille-1] =p2;
}
 
void codage(){
char *tab[2560];
int i,j;
int k=3;
char *zero="0";
char *un="1";
 
initialisation(tab,6);
for(i=0; i<k ; i++){
 
tab[i]= strcat( tab[i] ,zero);
}
for(j=k; j < 6 ;j++){
 
tab[j]=strcat( tab[j],un);
}
for(i=0;i<6;i++){
printf("%s\n",tab[i]);
}
}
 
int main (int argc, char ** argv){
 
codage();
 
return (EXIT_SUCCESS);
 
}
 
 
et le resultat :
Code :
 
 
00011
00011
00011
00011
00011
21

mood
Publicité
Posté le 22-04-2008 à 15:27:45  profilanswer
 

n°1721994
tpierron
Posté le 22-04-2008 à 16:14:20  profilanswer
 

Je crois que la fonction qui t'aiderais s'apelle malloc().

n°1721996
shirel84
Posté le 22-04-2008 à 16:16:35  profilanswer
 

est ce que tu pourrais me dire s'il te plait comment utiliser cette fonction dans mon programme car là je t'avoue que je suis un petit peu perdue

n°1722114
tpierron
Posté le 22-04-2008 à 17:33:12  profilanswer
 

Oué, s'il n'y a que cette fonction à t'expliquer, ça serait encore trop simple. Il faudrait déjà que tu comprennes pourquoi ce morceau de ton code est archi faux (avec droit à un postage direct sur dailywtf si trouvé en prod) :

Code :
  1. void initialisation(char *tab[],int taille)
  2. {
  3.    int i;
  4.    char p[2560]="";
  5.    char p2[2560]="2";
  6.    for(i=0; i<taille-1 ; i++){
  7.      tab[i] = p;
  8.    }
  9.    tab[taille-1] =p2;
  10. }


 
Tu retournes un tableau local à la fonction appelante. As-tu conscience que la durée de vie de p et p2 n'est garantie que dans le bloc ou ces tableaux sont déclarés ? Sans parler du fait que tu réutilises taille-1 fois le même buffer. Pas étonnant que tu retrouves taille-1 la même chaine par la suite.


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

  pb avec les char et strcat

 

Sujets relatifs
classee un champ de type charFonction avec parametre en char * et appel avec string
Plantage: strchr() avec un char **Problème de conversion string en const char *
[DB2] extraire un nombre packé d'un CHARParcours alphabétique d'une map<char,XXX> sans la casse
appel d'une fonction (execution) qui est definie par un char[]Problème de type: Pixel =int, char ?
Probleme scanf et charUn bon programmeur de C SVP... strcat et char...
Plus de sujets relatifs à : pb avec les char et strcat


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)