begin process at 2012 02 13 07:44:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Prb tableau de Byte !!! Help !!!


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

Prb tableau de Byte !!! Help !!!

mercredi 25 janvier 2006 à 10:58:00 | Prb tableau de Byte !!! Help !!!

gluk

Bonjour,
J'ai un problème avec dans mon apprentissage du C++.

J'aimerai créée une méthode de classe capable de renvoyer un tableau d'octet ( à la manière d'un buffer de lecture ).

Je me tape la tête contre les murs tellement j'ai essayé de solutions.
J'y arrive très bien en Csharp.

Code Csharp :
    function byte[] lectureBuffer(){
       byte[] buffer = new byte[1024];
       code....;
       return buffer;
    }

Voila, super simple en Csharp  mais pas évidemment en C++ .

Si vous avez une solution ou même un exemple sur la lecture de buffer je suis preneur.


Gluk
mercredi 25 janvier 2006 à 11:14:21 | Re : Prb tableau de Byte !!! Help !!!

dark_naruto25

byte* lectureBuffer()
{
   byte* buffer = new byte[1024];
   // ton code
   return buffer;
}
mercredi 25 janvier 2006 à 11:18:15 | Re : Prb tableau de Byte !!! Help !!!

BruNews

Administrateur CodeS-SourceS
BYTE *pmem;
pmem = (BYTE*) VirtualAlloc(....);
return pmem;

je ne vois pas le problème, à part que je déconseille tant que faire se peut. Le prog appelant alloue sa mémoire, passe le pointeur à la fonction et est responsable de sa desalloc, ça occasionne moins de fuites mémoire.

ciao...
[ Lien ]
BruNews, MVP VC++
mercredi 25 janvier 2006 à 11:26:07 | Re : Prb tableau de Byte !!! Help !!!

gluk

Merci dark_naruto25,
Mais j'ai 3 questions :
- Le code t'elle qu'il se presente, peut'il etre integré en méthode de classe ?
- byte est-il un dériver de char en C++ ?
- Peut tu me fournir un exemple de code appelant ?

J'illustre ma demande par du code Csharp :
MonObjetQuiLit oLecture = new MonObjetQuiLit (sPath);
While( oLecture.JePeuxLire ){
    Byte[] oByte =  oLecture.LireBuffer(); <- code appelant
}

Merci pour le code ci-dessus .

Gluk
mercredi 25 janvier 2006 à 11:52:03 | Re : Prb tableau de Byte !!! Help !!!

gluk

Merci BruNews,
Mais je ne comprend pas le fonctionnement de VirtualAlloc

La ligne "pmem = (BYTE*) VirtualAlloc(....);" est pour moi un mystère .

Je suis conscient de demandé quelque chose de très simple, mais ça vas faire un petit moment que je bloc sur ce problème .

Gluk
mercredi 25 janvier 2006 à 12:00:53 | Re : Prb tableau de Byte !!! Help !!!

BruNews

Administrateur CodeS-SourceS
Il ne faut jamais mettre devant soi de l'interprété et chercher à le refaire en C/C++ sinon tu produiras peut-être encore plus mauvais et lent.
Tu écris en bon gaulois le but à obtenir et ensuite transcription en code.

ciao...
[ Lien ]
BruNews, MVP VC++
mercredi 25 janvier 2006 à 17:54:27 | Re : Prb tableau de Byte !!! Help !!!

ymca2003

VirtualAlloc est une fonction qui alloue de la mémoire (comme new, malloc, HeapAlloc, ....) sauf que c'est une fct de l'API windows.
un BYTE est un unsigned char et ne dérive pas d'un type (les types de bases ne sont pas des classes).

Je rejoint Brunews sur le fait que transcrire un code d'un language à un autre est pas conseillé. il vaut mieux partir de ce que doit faire le code
mercredi 25 janvier 2006 à 21:06:46 | Re : Prb tableau de Byte !!! Help !!!

gluk

Merci pour vos réponses.
Je suis d'accord, bien évidemment. On peut voir ce genre de confusion dans la migration de gros projet.
J'ai illustré mes propos avec du code Csharp car c'est assez proche d’un pseudo code (ou gaulois).
Si j'ai bien compris VirtualAlloc ne fonctionne QUE sous Windows est pas sous Linux ?
Si c'est le cas je vais essayer de faire autrement, car j'ai bien envie (une fois mon programme fini) de le compiler sur Windows et Linux.

Voici mon le code C++ :

Dans la méthode de classe

char * readFile(){

int iSizeLastBloc = this->_lSizeFile - ((this->_lNumBloc - 1) * this->_iSizeBuffer);

char biteReadEnd[iSizeLastBloc];

//*-*-* a verifier

*biteReadEnd = this->_oBufferRead[(this->_iIndexNumBloc * this->_iSizeBuffer)];

this->_lNumBloc++;

this->_bState = false;

return biteReadEnd;
}

dans l’appelant :

do{

char* oBuffer;

oBuffer =oCutter.readFile();

fwrite(oBuffer, sizeof(oBuffer), 1, oFile);

}

while(oCutter.getState());

Voila mon vrais problème, c’est que je récupère une adresse est pas le contenue du tableau.

Si vous avez une option ou même un exemple je suis preneur.




Gluk
dimanche 29 janvier 2006 à 16:47:41 | Re : Prb tableau de Byte !!! Help !!!

ctx_man

Salut !
oBuffer est un pointeur, donc une adresse. Mais tu peut l'utiliser en tableau. Si le tableau que tu a remplit contient "bonjour" oBuffer[0] contient 'b', oBuffer[1] contient 'o', ect...


Cette discussion est classée dans : buffer, tableau, byte, prb, csharp


Répondre à ce message

Sujets en rapport avec ce message

URGENT Prb Image DIB [ par pirate75000 ] J'ai une dll qui me crée une dib d'une image,comment placer cette dib dans un tableauet comment replacer se tableau dans une dibMerci Graphique défilant [ par Mastersam ] Bonjour.Je suis actuellement sur un projet qui m'amène à afficher un histogramme défilant à partir d'un tableau de 310 valeurs qui proviennent du buff Les pointeurs, aide SVP [ par jb60 ] Bonjour,J'ai fait une source avec plusieurs fichier *.cpp et plusieurs fichiers *.hDans un fichier main.cpp, j'ai créé un pointeur BYTE *LesOctets;Je Decaler d'un byte [ par shadow1779 ] Bonjour,je cherche a faire un systeme de cryptage de donnée assez facil, on m'a dis qu'il est possible de décaler d'un byte chaque caractere dans une Visualiser une image codée dans un tableau de BYTE en api. [ par Tobii ] C'est surement quelque chose de très simple à faire, je veux juste afficher dans une fenetre windows un tableau de BYTE (unsigned char) avec chaque BY tableau [ par blueburry ] Bonjour, g besoin de retirer d'un buffer sBuf une chaine de caracteres ki vient juste apres le mot Subject: et avant le retour de chariot et de la pla tableau appelé par deux application [ par aymen87 ] Bonjour J'ai un fichier header.h dans ce fichier j'ai déclaré buffer[100] -dans une première application console win32 j'ai fait #include "header.h" tableau [ par mayalen ] je veux retourner un tableau dans une fonction comment faire????? CEvenement::ShortToByte16( short sNombre){ BYTE bTableanByte16[16]; for(int i=0; Tableau membre [ par ekinox17 ] Bon voila j'ai cree un tableau d'octets du type : BYTE buffer[25]; // a l'interieur de ma classe et en public autant dire que toutes les fonctions peu tableau [ par blueburry ] bonjour,je suis en train de retirer une chaine de caracteres et de la stocker ds un buffer.je voudrais savoir quelle instruction utiliser (en visual C


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 6,349 sec (3)

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