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

  FORUM HardWare.fr
  Programmation
  C++

  petyte question C++ (istringstream, copie, toussa) VS2003 / pubsetbuf

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Précédente
Auteur Sujet :

petyte question C++ (istringstream, copie, toussa) VS2003 / pubsetbuf

n°1256600
chrisbk
-
Posté le 01-12-2005 à 09:19:43  profilanswer
 

J'ai une interrogation a la con en C++
 
j'ai qqpart un truc me renvoyant des donnees, genre une fonction alacon
 

Code :
  1. void monRead(void *buf, int size);
  2. ..
  3. char * bidule = new char[longueur];
  4. monRead(bidule, longueur);


 
j'aimerais mettre le contenu de ce que me renvoie ste fonction dans un istringstream. Et la j'ai un petit doute car visiblement, pour faire ca faut passer par un std::string, genre  
 

Code :
  1. istringstream res( string(bidule, longueur), std::in);


 
Ce que j'ai peur c'est que (corrigez moi si je rate un truc):
 
"bidule" soit recopié dans dans le std::string
le std::string soit recopié dans le buffer interne du istringstream
 
et si bidule est du genre gros, ca peut devenir genant et on se promene avec des Mo de donnée pour rien. Y'a moyen d'eviter tout ce genre de chambart ? (surtout que finalement, je veux bien donner la responsabilité de la desalloc de bidule a mon istringstream)
 
le stringbuf de rdbuf() ? [:petrus75]


Message édité par chrisbk le 01-12-2005 à 15:05:59
mood
Publicité
Posté le 01-12-2005 à 09:19:43  profilanswer
 

n°1256619
chrisbk
-
Posté le 01-12-2005 à 09:44:05  profilanswer
 

up [:petrus75]
 
bon jpensais avoir trouver mon bonheur comme ca :
 
 

Code :
  1. std::istringstream strime;
  2. strime.rdbuf()->pubsetbuf("YOP",4);


 
seulement, quand on va voir pubsetbuf, on voit que ca appelle setbug, et setbuf ....

Code :
  1. virtual _Myt *setbuf(_Elem *, streamsize)
  2. { // offer buffer to external agent (do nothing)
  3.      return (this);
  4. }


 
est assez decevant [:pingouino] skoi ce bins ?
 

n°1256626
godbout
Génial.
Posté le 01-12-2005 à 09:56:32  profilanswer
 

Tu es l'élite, personne ne peut répondre à des questions d'élite.

n°1256639
chrisbk
-
Posté le 01-12-2005 à 10:15:25  profilanswer
 

c'est flatteur, mais ca m'aide pas [:pingouino]

n°1256650
godbout
Génial.
Posté le 01-12-2005 à 10:35:00  profilanswer
 

Plus on évolue, et plus on se retrouve seul, c'est bien connu.

n°1256653
chrisbk
-
Posté le 01-12-2005 à 10:37:56  profilanswer
 

Monde de merde

n°1256673
stiffler
Lâche mon profil putain ! :o
Posté le 01-12-2005 à 10:52:18  profilanswer
 

c'est ici le topic cul ? [:kbchris]

n°1256677
godbout
Génial.
Posté le 01-12-2005 à 11:01:34  profilanswer
 

En tout cas, preuve que sans ferrero rocher, ça manque de succés.

n°1256713
chrisbk
-
Posté le 01-12-2005 à 12:00:56  profilanswer
 

REPONDEZ §

n°1256730
godbout
Génial.
Posté le 01-12-2005 à 12:25:57  profilanswer
 

Présent!

mood
Publicité
Posté le 01-12-2005 à 12:25:57  profilanswer
 

n°1256756
Elmoricq
Modérateur
Posté le 01-12-2005 à 12:58:58  profilanswer
 

En C, t'aurais pas eu ce problème. [:klem3i1]

n°1256783
bjone
Insert booze to continue
Posté le 01-12-2005 à 13:35:00  profilanswer
 

ça ressemble un peu à ça ce que tu veux faire naon ?
 
http://www.cplusplus.com/ref/iostr [...] sputn.html

n°1256791
morph
Posté le 01-12-2005 à 13:44:42  profilanswer
 

A propos de setbuf, il ne faut pas regarder l'implémentation de basic_streambuf qui ne fait rien mais de basic_stringbuf dans ton cas.
http://gcc.gnu.org/onlinedocs/libs [...] _filebufb9

n°1256808
chrisbk
-
Posté le 01-12-2005 à 14:09:35  profilanswer
 

morph a écrit :

A propos de setbuf, il ne faut pas regarder l'implémentation de basic_streambuf qui ne fait rien mais de basic_stringbuf dans ton cas.
http://gcc.gnu.org/onlinedocs/libs [...] _filebufb9


 
bin j'ai regardé celle qui etait apellé par mon code pour comprendre pourquoi ca faisait rien, et effectivement, ca ne fait rien

n°1256809
chrisbk
-
Posté le 01-12-2005 à 14:10:11  profilanswer
 

bjone a écrit :

ça ressemble un peu à ça ce que tu veux faire naon ?
 
http://www.cplusplus.com/ref/iostr [...] sputn.html


 
 
un peu, mais au final tu fais quand meme une recopie (bon ca fait une au lieu de deux, c'est deja ca)

n°1256812
chrisbk
-
Posté le 01-12-2005 à 14:15:49  profilanswer
 

sputn a pas l'air d'ecrire grand chose, y'a qqchose qui doit m'echapper dans ce bins [:pingouino]

n°1256859
chrisbk
-
Posté le 01-12-2005 à 14:37:22  profilanswer
 

jcommence a me demander si la STL a vc boite pas un peu a cet endroit la [:pingouino]
 
 

Code :
  1. #include <sstream>
  2. #include <iostream>
  3. int main()
  4. {
  5. std::istringstream strime;
  6. strime.rdbuf()->pubsetbuf("YOP",4);
  7. char prout[5];
  8. memset(prout,0,5);
  9. strime.read(prout,4);
  10. std::cout<<prout<<std::endl;
  11. return 0;
  12. }


 
ca affiche bien YOP sur gcc [:zaib3k]
monde de merde


Message édité par chrisbk le 01-12-2005 à 14:42:37
n°1256861
bjone
Insert booze to continue
Posté le 01-12-2005 à 14:42:08  profilanswer
 

arf c'est des choses qui arrivent mon bon monsieur [:pingouino]

n°1256867
chrisbk
-
Posté le 01-12-2005 à 14:46:36  profilanswer
 

bin nan, merde sTl quoi, hein, chierie de pingouin.

n°1256873
bjone
Insert booze to continue
Posté le 01-12-2005 à 14:51:45  profilanswer
 

fait comme moi quand ça t'arrives: tues un poulet et fais des incantations sataniques.

n°1256878
chrisbk
-
Posté le 01-12-2005 à 14:57:12  profilanswer
 

ca m'avance a rien [:pingouino]

n°1256918
bjone
Insert booze to continue
Posté le 01-12-2005 à 15:20:34  profilanswer
 

j'avoues, mais ça défoule [:pingouino]

n°1256921
chrisbk
-
Posté le 01-12-2005 à 15:21:23  profilanswer
 

en attendant j'ia l'air con
 
y ont oublié de redefinir la fonction dans stringbuf ces cretins ou quoi ? [:le kneu]

n°1257095
++fab
victime du syndrome IH
Posté le 01-12-2005 à 19:36:18  profilanswer
 

l'optimisation avant profiling, c'est le mal absolu  [:nicolas91200]  
Satan t'habite ...

n°1257110
chrisbk
-
Posté le 01-12-2005 à 20:44:16  profilanswer
 

mais de quoi il parle ?

Message cité 1 fois
Message édité par chrisbk le 01-12-2005 à 20:44:25
n°1257132
stiffler
Lâche mon profil putain ! :o
Posté le 01-12-2005 à 21:46:01  profilanswer
 

il est bourré ! :/

n°1257138
el muchach​o
Comfortably Numb
Posté le 01-12-2005 à 22:05:58  profilanswer
 

Est-ce que readsome ne répond pas à ta demande ?
http://www.cplusplus.com/ref/iostr [...] dsome.html
 
(les streams, c'est le bordel)


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1257142
chrisbk
-
Posté le 01-12-2005 à 22:17:19  profilanswer
 

[:le kneu] LISEZ la QUESTION avant de REPONDRE des CONNERIES §§§§

n°1257167
el muchach​o
Comfortably Numb
Posté le 01-12-2005 à 22:46:34  profilanswer
 

Ben ouais, et il est où le pb ? Tu évites de passer par un string, mais de toute façon, ça m'étonnerait que tu puisses éviter de faire une copie du char * dans le istringstream.


Message édité par el muchacho le 01-12-2005 à 22:47:49

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1257168
chrisbk
-
Posté le 01-12-2005 à 22:49:21  profilanswer
 

bin readsome s'appuie sur istream, qui s'appuie sur son buffer et vu que moi je veux bricoler le buffer
 
 
(bin visibelment avec pubsetbuf ca marche, mais pas sous VS [:itm])

n°1257176
el muchach​o
Comfortably Numb
Posté le 01-12-2005 à 22:57:18  profilanswer
 
n°1257181
chrisbk
-
Posté le 01-12-2005 à 23:03:19  profilanswer
 

heuh, bof, nan

n°1257216
++fab
victime du syndrome IH
Posté le 02-12-2005 à 01:34:22  profilanswer
 

chrisbk a écrit :

mais de quoi il parle ?


 
J'ai peut etre mal compris, mais tu cherches soi à optimiser la copie ( dans string, puis dans istringstream), soit à réduire la conso mémoire, soit les deux. Y a 1001 dictons du genre "l'optimisation prématurée est la source de tout les maux", ou encore : "comment optimiser ? regle numero 1 : n'optimiser pas, regle numero 2, n'optimiser toujours pas, etc ... "
Ce que je voulais dire, c'est qu'il vaut mieux attendre les résultats du profiler avant de se casser le cul à bricoler/jouer avec  un *streambuf.

n°1257234
chrisbk
-
Posté le 02-12-2005 à 08:37:45  profilanswer
 

++fab a écrit :

J'ai peut etre mal compris, mais tu cherches soi à optimiser la copie ( dans string, puis dans istringstream), soit à réduire la conso mémoire, soit les deux. Y a 1001 dictons du genre "l'optimisation prématurée est la source de tout les maux", ou encore : "comment optimiser ? regle numero 1 : n'optimiser pas, regle numero 2, n'optimiser toujours pas, etc ... "
Ce que je voulais dire, c'est qu'il vaut mieux attendre les résultats du profiler avant de se casser le cul à bricoler/jouer avec  un *streambuf.


 
 
bin ecoute, les dictons tout ca je les connais, et generalement les applique. Je sors pas l'asm sur n'importe quoi ou ne casse pas mon design histoire de gagner deux pouilleme.  
 
Seulement la c'est du pur bon sens : utiliser (meme temporairement) 4 Mo de ram la ou un seul est necessaire a cause de recopie multiple, ca me parait être idiot. Et perdre du temps a faire de l'inutile, ca m'ennuie. Y s'agit pas de tout demolir, il y a juste 3 lignes dans mon paté de code qui me derange et jvoulais voir a améliorer ca.
 
Vala [:dawa]
 
 
 
 

n°1257246
stiffler
Lâche mon profil putain ! :o
Posté le 02-12-2005 à 09:12:13  profilanswer
 

:love:

n°1257247
chrisbk
-
Posté le 02-12-2005 à 09:13:37  profilanswer
 

[:feer] degage

n°1257249
stiffler
Lâche mon profil putain ! :o
Posté le 02-12-2005 à 09:19:01  profilanswer
 

     no
     \/
[:vague nocturne]

n°1257251
chrisbk
-
Posté le 02-12-2005 à 09:25:00  profilanswer
 

j'ai harko en fax

n°1257253
stiffler
Lâche mon profil putain ! :o
Posté le 02-12-2005 à 09:26:43  profilanswer
 

moi je l'ai en gothique

n°1257254
chrisbk
-
Posté le 02-12-2005 à 09:27:53  profilanswer
 

c'est amurofl

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Précédente

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

  petyte question C++ (istringstream, copie, toussa) VS2003 / pubsetbuf

 

Sujets relatifs
question sur switchQUESTION Accéder au Net depuis un intranet depuis VPN ????
Problème de Copie (StreamReader)Mode texte et question sur les socket.
[css] question idiote sur les listes.htaccess Comment protéger sont site contre la copie?
nombre max de copie caché lors d'un envoie de mail.[Résolu] POO question hype débutant
[resolu] Copie de feuilles ...[VBS] afficher l'animation de copie de fichier - [résolu]
Plus de sujets relatifs à : petyte question C++ (istringstream, copie, toussa) VS2003 / pubsetbuf


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR