std::istrstream:: istrstream
From cppreference.net
<
cpp
|
io
|
istrstream
|
explicit
istrstream
(
const
char
*
s
)
;
|
(1) |
(obsolète en C++98)
(supprimé en C++26) |
|
explicit
istrstream
(
char
*
s
)
;
|
(2) |
(obsolète en C++98)
(supprimé en C++26) |
|
istrstream
(
const
char
*
s,
std::
streamsize
n
)
;
|
(3) |
(obsolète en C++98)
(supprimé en C++26) |
|
istrstream
(
char
*
s,
std::
streamsize
n
)
;
|
(4) |
(obsolète en C++98)
(supprimé en C++26) |
Construit un nouveau std::istrstream et son std::strstreambuf sous-jacent.
1,2)
Construit le
std::strstreambuf
sous-jacent en appelant
strstreambuf
(
s,
0
)
et initialise la classe de base avec l'adresse du
strstreambuf
. Le comportement est indéfini si
s
ne pointe pas vers un élément d'un tableau terminé par un caractère nul.
3,4)
Construit le
std::strstreambuf
sous-jacent en appelant
strstreambuf
(
s, n
)
et initialise la classe de base avec l'adresse du
strstreambuf
. Le comportement est indéfini si
s
ne pointe pas vers un élément d'un tableau dont la longueur est d'au moins
n
éléments.
Paramètres
| s | - | Chaîne C ou tableau de caractères à utiliser comme contenu du flux |
| n | - | taille du tableau |
Exemple
Exécuter ce code
#include <iostream> #include <strstream> int main() { std::istrstream s1("1 2 3"); // chaîne littérale int n1, n2, n3; if (s1 >> n1 >> n2 >> n3) std::cout << n1 << ", " << n2 << ", " << n3 << '\n'; char arr[] = {'4', ' ', '5', ' ', '6'}; std::istrstream s2(arr, sizeof arr); if (s2 >> n1 >> n2 >> n3) std::cout << n1 << ", " << n2 << ", " << n3 << '\n'; }
Sortie :
1, 2, 3 4, 5, 6
Voir aussi
construit un objet
strstreambuf
(fonction membre publique de
std::strstreambuf
)
|
|
construit un objet
ostrstream
, allouant optionnellement le tampon
(fonction membre publique de
std::ostrstream
)
|
|
construit un objet
strstream
, allouant optionnellement le tampon
(fonction membre publique de
std::strstream
)
|