begin process at 2008 08 20 17:27:20
1 228 964 membres
325 nouveaux aujourd'hui
14 259 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme de syntaxe dans boucle while (problemes de pointeurs) [ Archives / Au secours ] (pif56)

Probleme de syntaxe dans boucle while (problemes de pointeurs) le 20/02/2006 20:56:00

pif56
Bonjour,

J aimerais savoir ce qui cloche dans la syntaxe ci-dessous. Je recois 5 erreurs provenant de la ligne commencant par while.
J ai essaye de joindre une capture d écran pour vous montrer les erreurs, mais je n ai pas trouver le moyen de joindre l image.
Si vous en avez besoin dites moi seulement comment insérer ma capture d'ecran.
Merci de votre aide.

Char *buffer,prefixString;
Int i=0;

            buffer = (PCHAR)LocalAlloc(LMEM_FIXED, FileSize+1);
            prefixString = (PCHAR)LocalAlloc(LMEM_FIXED, 20);
            while( ( buffer[i] == '\' ) && ( buffer[i+1] == '1' ) )
            {
                prefixString[i]=buffer[i+2];
                i++;
            }
            prefixString[i]='\0';

            SetDlgItemText(hwnd,IDC_EDIT_PREFIX,prefixString);
            SetDlgItemText(hwnd,IDC_EDIT_DEPTHLIST,buffer);
            LocalFree(buffer);
            LocalFree(prefixString);

Re : Probleme de syntaxe dans boucle while (problemes de pointeurs) le 20/02/2006 20:57:40

pif56



PS: desole c est le meme message avecune faute en moins (prefixString est également un pointeur vers char)

Bonjour,
J aimerais savoir ce qui cloche dans la syntaxe ci-dessous. Je recois 5 erreurs provenant de la ligne commencant par while.
J ai essaye de joindre une capture d écran pour vous montrer les erreurs, mais je n ai pas trouver le moyen de joindre l image.
Si vous en avez besoin dites moi seulement comment insérer ma capture d'ecran.
Merci de votre aide.

Char *buffer,*prefixString;
Int i=0;

            buffer = (PCHAR)LocalAlloc(LMEM_FIXED, FileSize+1);
            prefixString = (PCHAR)LocalAlloc(LMEM_FIXED, 20);
            while( ( buffer[i] == '\' ) && ( buffer[i+1] == '1' ) )
            {
                prefixString[i]=buffer[i+2];
                i++;
            }
            prefixString[i]='\0';

            SetDlgItemText(hwnd,IDC_EDIT_PREFIX,prefixString);
            SetDlgItemText(hwnd,IDC_EDIT_DEPTHLIST,buffer);
            LocalFree(buffer);
            LocalFree(prefixString);

Re : Probleme de syntaxe dans boucle while (problemes de pointeurs) le 20/02/2006 21:22:55

BruNews
(Admin CS)
"Char" avec une majuscule ???

'\\' doit être doublé, c'est un caractère d'échappement.

LocalAlloc est issu du 16 bits, à remplacer par VirtualAlloc ou HeapAlloc.

ciao...
[ Lien ]
BruNews, MVP VC++

Re : Probleme de syntaxe dans boucle while (problemes de pointeurs) le 20/02/2006 21:31:58

BruNews
(Admin CS)
Autre chose, dans une situation telle que celle ci, inotile de faire tourner le memory manager inutilement:

#define MEMDISPO  (MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN)

prefix = VirtualAlloc(0, FileSize+1 + 20, MEMDISPO, PAGE_READWRITE);
buffer = prefix + 20; // TOUT EN 1 SEULE ALLOC

Al a fin, juste un VirtualFree sur prefix, double benef.

ciao...
[ Lien ]
BruNews, MVP VC++

Re : Probleme de syntaxe dans boucle while (problemes de pointeurs) le 20/02/2006 21:41:53

pif56

Merci beaucoup de ton aide.
Je me galere un peu avec win32...ah quand on veut faire ses propres interfaces!

En meme temps, j ai un autre probleme de taille. Sur un programme C/C++ sans MFC, j utilise d'habitude printf pour cibler mes erreurs.
Est ec que tu aurais un equivalent sur win32?

Dans cet exemple, je n'arrive pas a afficher dans une edit box ma chaine prefixString, qui est censee etre egale a buffer tant que buffer ne lit pas la chaine "\1". J'aimerais donc affcher (via l'equivalent d un printf ) quelquechose me premettant de cibler mon erreur.

Merci encore de ta patience!

Re : Probleme de syntaxe dans boucle while (problemes de pointeurs) le 20/02/2006 21:44:52

BruNews
(Admin CS)
Réponse acceptée !
SetWindowText(hedit, prefixString);

ciao...
[ Lien ]
BruNews, MVP VC++


Classé sous : buffer, probleme, while, syntaxe, prefixstring

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
campagne Adwords
Budget : 5 000€
Boite echanges securis...
Budget : 500€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS