 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
JBB Guest
|
Posted: Thu Mar 15, 2007 10:25 pm Post subject: vector<char> |
|
|
y a t'il deja une classe dans la STL pour vector<char> ?
genre std::buffer ou std::memory
Merci. |
|
| Back to top |
|
 |
Falk Tannhäuser Guest
|
Posted: Thu Mar 15, 2007 10:28 pm Post subject: Re: vector<char> |
|
|
JBB wrote:
| Quote: | y a t'il deja une classe dans la STL pour vector<char> ?
genre std::buffer ou std::memory
|
std::vector<char> ne convient-il pas ?
Falk |
|
| Back to top |
|
 |
Marc G Guest
|
Posted: Fri Mar 16, 2007 2:12 am Post subject: Re: vector<char> |
|
|
std::string, ça convient pas ?
ça dépend ce que tu veux faire avec |
|
| Back to top |
|
 |
JBB Guest
|
Posted: Fri Mar 16, 2007 2:28 pm Post subject: Re: vector<char> |
|
|
Marc G a écrit :
| Quote: | std::string, ça convient pas ?
ça dépend ce que tu veux faire avec
|
C'est pour stocker des buffers en binaire (pour lire dsn des sockets,
écrire dans des fichiers). Je peux donc avoir des 0 en plein milieu.
Et de la même manière que string est un spécialisation de basic_string
je me suis dit qu'il existait peut quelque chose pour vector<char>. |
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Fri Mar 16, 2007 2:49 pm Post subject: Re: vector<char> |
|
|
JBB <nospam (AT) nospam (DOT) com> writes:
| Quote: | Marc G a écrit :
std::string, ça convient pas ?
ça dépend ce que tu veux faire avec
C'est pour stocker des buffers en binaire (pour lire dsn des sockets,
écrire dans des fichiers). Je peux donc avoir des 0 en plein milieu.
Et de la même manière que string est un spécialisation de basic_string
je me suis dit qu'il existait peut quelque chose pour vector<char>.
|
pour du binaire sans interpretation comme caracteres, unsigned char est
nettement meilleur que char.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org |
|
| Back to top |
|
 |
Marc G Guest
|
Posted: Fri Mar 16, 2007 8:16 pm Post subject: Re: vector<char> |
|
|
"JBB" <nospam (AT) nospam (DOT) com> a écrit dans le message de news:
etdnv6$jmv$1 (AT) aioe (DOT) org...
| Quote: | Marc G a écrit :
std::string, ça convient pas ?
ça dépend ce que tu veux faire avec
C'est pour stocker des buffers en binaire (pour lire dsn des sockets,
écrire dans des fichiers). Je peux donc avoir des 0 en plein milieu.
Et de la même manière que string est un spécialisation de basic_string
je me suis dit qu'il existait peut quelque chose pour vector<char>.
|
je comprends pas bien, tes char pour toi, c'est seulement '0' ou '1' ? |
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Fri Mar 16, 2007 10:10 pm Post subject: Re: vector<char> |
|
|
On Fri, 16 Mar 2007 10:28:06 +0100, JBB <nospam (AT) nospam (DOT) com>:
| Quote: | C'est pour stocker des buffers en binaire (pour lire dsn des sockets,
écrire dans des fichiers). Je peux donc avoir des 0 en plein milieu.
|
Ni std::string, ni std::vector<char>, ne sont gênés par des '\0'. |
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Fri Mar 16, 2007 10:10 pm Post subject: Re: vector<char> |
|
|
On Fri, 16 Mar 2007 16:16:48 +0100, "Marc G" <mgueguen (AT) metrica (DOT) fr>:
| Quote: | je comprends pas bien, tes char pour toi, c'est seulement '0' ou '1' ?
|
Je crois plutôt qu'il voulait parler de '\0', qui pose effectivement
problème dans les chaînes "à la C". |
|
| Back to top |
|
 |
James Kanze Guest
|
Posted: Sat Mar 17, 2007 2:31 pm Post subject: Re: vector<char> |
|
|
On Mar 16, 10:28 am, JBB <nos...@nospam.com> wrote:
| Quote: | Marc G a écrit :
std::string, ça convient pas ?
ça dépend ce que tu veux faire avec
C'est pour stocker des buffers en binaire (pour lire dsn des sockets,
écrire dans des fichiers). Je peux donc avoir des 0 en plein milieu.
|
Ça ne pose pas de problème dans une std::string conforme. En
revanche, ça passe peut-être le mauvais message au lecteur.
| Quote: | Et de la même manière que string est un spécialisation de basic_string
je me suis dit qu'il existait peut quelque chose pour vector<char>.
|
Tu peux en faire, si tu veux :
typedef std::vector< char > Buffer ;
Pour les données binaires, j'ai plutôt tendance à utiliser :
typedef unsigned char Byte ;
typedef std::vector< Byte > Buffer ;
Mais ça impose des reinterpret_casts lors des entrées/sorties si
on se sert de istream et ostream.
--
James Kanze (Gabi Software) email: james.kanze (AT) gmail (DOT) com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34 |
|
| Back to top |
|
 |
Stan Guest
|
Posted: Thu Apr 19, 2007 8:52 pm Post subject: Re: vector<char> |
|
|
"JBB" <nospam (AT) nospam (DOT) com> a écrit dans le message de
news:etdnv6$jmv$1 (AT) aioe (DOT) org...
| Quote: | Marc G a écrit :
std::string, ça convient pas ?
ça dépend ce que tu veux faire avec
C'est pour stocker des buffers en binaire (pour lire dsn des sockets,
écrire dans des fichiers). Je peux donc avoir des 0 en plein milieu.
|
Je les utilise couramment pour lire/écrire dans des flux
TCP ou sur des port RS232 sans aucun problème.
--
-Stan |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|