begin process at 2012 05 29 07:03:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Incrémenter une variable... ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Incrémenter une variable... ?

jeudi 16 juin 2005 à 21:23:35 | Incrémenter une variable... ?

Zootella

Hello,

Est-ce possible d'incrémenter une variable ?

Par exemple avec une boucle for:

  char resstr1[1024];
  char resstr2[1024];
  char resstr3[1024];
  ...

  int ResourceMax = 8001;

  for ( int i = 0; i < 25; i++)
  {
    LoadString(hInstance, ResourceMax, resstr1, 1024);
    ResourceMax++;
   }

Dans cet exemple je voudrais qu'il incrémente resstr1, mais est-ce possible ?



jeudi 16 juin 2005 à 21:54:29 | Re : Incrémenter une variable... ?

neria

Réponse acceptée !
Salut !

   Il suffit de faire un tableau de pointeur et de l'intégrer dans ta boucle :

// Tableau de 25 tableaux (char*)
char** ress = new char*[25];

// ou char* ress[25] ; selon tes goûts pour les pointeurs

  for ( int i = 0; i < 25; i++)
  {
   // Affecte l'espace au char* 
   ress[i] = new char[1024] ;
    LoadString(hInstance, ResourceMax, ress[i], 1024);
    ResourceMax++;
   }

Bon ok ça demande une petite connaissance des pointeurs, mais c'est un jeu marrant je trouve :) Et si tu es en C, il faut utiliser malloc ( ress[i] = malloc(sizeof(char),1024) ; ) Idem pour la première allocation, et surtout n'oublie pas de libérer la mémoire après utilisation !!

@+ Neria
jeudi 16 juin 2005 à 22:23:08 | Re : Incrémenter une variable... ?

steve_clamage

Réponse acceptée !
Mais comme il n'y a aucun interet a "s'emmerder" avec une double allocation alors que la taille est connue,

char resstr[25][1024];

  for ( int i = 0; i < sizeof resstr / sizeof resstr[0]; i++)
  {
    LoadString(hInstance, ResourceMax, resstr[i], sizeof resstr[0]);
    ResourceMax++;
   }

ps: sizeof(char) vaut 1, c'est sur.

jeudi 16 juin 2005 à 22:25:11 | Re : Incrémenter une variable... ?

Zootella

Donc j'obtiens ceci :

void LoadStr(HINSTANCE hInstance)
{
  int ResourceMax = 8001;
  char * ress[25] ;
  int i;

  for ( i = 0; i < 25; i++)
  {
    ress[i] = malloc(1024);
    LoadString(hInstance, ResourceMax, ress[i], 1024);
    ResourceMax++;
  }
  ...
 free(ress);
}

Merci, juste un truc : "new" ne fonctionne pas sous dev-cpp, enfin pour moi... pourquoi ?

`new' undeclared (first use in this function)


jeudi 16 juin 2005 à 22:59:00 | Re : Incrémenter une variable... ?

steve_clamage

new n'est pas une fonction, c'est un opérateur du langage C++. Si tu fais du C utilises malloc (ou calloc, realloc) et free pour gerer dynamiquement la mémoire.

Une erreur:
free(ress);
à remplacer par
for ( i = 0; i < sizeof ress / sizeof ress[0]; i++)
{
    free(ress[i]);
}

Mais l'allocation dynamique ne sert à rien dans ce cas, utilises tout simplement un tableau:
char resstr[25][1024];

vendredi 17 juin 2005 à 06:56:15 | Re : Incrémenter une variable... ?

neria

Salut !

  C'est vrai qu'en y relechissant un peu, un simple ress[25][1024] suffit, je n'y ais pensé que trop tard, j'ai tellement l'habitude de passer par les pointeurs que je n sais plus faire les trucs basique ;)

@+ Neria


Cette discussion est classée dans : variable, char, incrémenter, resstr1, resourcemax


Répondre à ce message

Sujets en rapport avec ce message

affectation valeur variable type char [ par Vinsou ] J'ai une variable char qui doit contenir du texte. Mais au milieu de ce texte il y a des valeurs provenant d'une base de donnée. Comment faire pour a Variable à volonté ! [ par AngeloVivaldi ] Salut.J'ai encore un problème du même type ...Je voudrai que le tableau de charactère, dans lequel l'opérateur inscrit un chemin de fichier, soit exte pb avec variable [ par jeffise57 ] Please aidez moiJe reçoit comme arugument du fonction des variables unsigned char* et je doit passer dans une deuxième fonction les même arguments mai int to char ! [ par nullspace ] Voila mon problème !J'ai une résultat sous forme de variable INT, et je veux que ce résultat soit affecté à une variable de type CHAR.Genre, si j'ai 6 Variable dans MessageBox [ par Arecibo ] Je voudrais afficher le contenu d'une variable dans une MessageBox, mais ça ne marche pas parce que cette variable est de type int et non pas char.En Pb de variable (enfin je croi) [ par Xilofeon ] Regardé ce code :#define PIDVALIDE "6.0.2800.1106"...<b Char et caractère NULL [ par Arecibo ] Lorsque je déclare : char Texte[16];est ce que je déclare :- une variable de type char de 16 caractères PLUS le caractère NULLou- une vari thread et parametre char [ par Anacr0x ] Salut,juste une petite question, ya-t-il un moyen simple de mettre une variable caractere en parametre d'un thread ?J'arrive a la faire avec un int ou Probleme de Variable [ par akaras ] Bonjour à tous,Voilà mon code :unsigned char Valeur[6];Valeur=Inp32(0x379);SetDlgItemText(hwnd , IDC_AFFICHAGE_RESULT, Valeur); Je veux afficher la le problème de char [ par minet03 ] Bonjour c'est encore le débutant, voilà le code :#include #include #include char inverser_char(char variable[]){ int longueur = strlen(variable); // l


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales