Concaténation en dynamique

*ManU* -  
 *ManU* -
Bonjour,
je fais des algorithmes de traitement d'image pour la télédétection et je me retrouve face à un petit problème de concaténation "dynamique" de chaîne...
En fait je me suis constitué une base de donnée d'imagettes qu'il faut que j'appelle dans un programme avec leur nom en variable d'entrée. Vu qu'il y en à pas mal (environ 1500) j'aimerai le faire de façon dynamique.
Voici mon code:

char prefix [ ] = "./Textures_labels/Quickbird/30_R3C1/_T0/0/tif/vol30_R3C1_T00_I0";
char type1 [ ] = ".tif";
char type2 [ ] = ".txt";

...etc...

for ( j=0 ; j<10 ; j++ ) // Loop for image changing
{
// Constructing output & input file name
char* input = prefix ;
char* name = prefix ;
char* number = j ;

strcat ( input, number ) ;
strcat ( input, type1 ) ; // Input image file name

strcat ( name, number ) ;
strcat ( name, type2 ) ; // Output text file name

... etc

}

Et voici l'erreur générée par le compilateur:
" erreur: invalid conversion from «int» to «char*» "

Peut être faut-il repenser la conception du programme pour contourner cet obstacle...?

Merci d'avance pour votre aide
Configuration: Linux
Firefox 3.0.11

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    char* number = j ;
    j est un entier, number un pointeur !!
    il faut convertir j en chaine de caractère avec sprintf avant de faire strcat
    attention aussi avec strcat que l'espace soit disponible pour ajouter une chaine
    0
  2. *ManU*
     
    Sa marche nikel !
    Je me disai bien que je n'utilisai pas les bonnes fonctions de cast...!
    merci pour ton aide
    0