/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
Hvilken variabeltype
Fra : Tomas .


Dato : 30-01-09 20:18

Hejsa

Jeg har det problem, når jeg anvender strings, at et mellemrum anses
som eol. Hvordan får man en string til at acceptere mellemrum? Skal
man evt. anvende en anden variabeltype for at denne kan indeholde
mellemrum?

--
Mvh.

Tomas


 
 
Mogens Hansen (30-01-2009)
Kommentar
Fra : Mogens Hansen


Dato : 30-01-09 21:19


"Tomas ." <huttelbuttel@hotmail.com> wrote in message
news:12333435100.990315032947837@dtext.news.tele.dk...
> Hejsa
>
> Jeg har det problem, når jeg anvender strings, at et mellemrum anses
> som eol.

Når man indlæser std::string objektiver fra en stream anses mellemrum for at
være separator - ikke eol.

> Hvordan får man en string til at acceptere mellemrum? Skal
> man evt. anvende en anden variabeltype for at denne kan indeholde
> mellemrum?

Jeg antager du mener når man læser std::string objekter ind fra en stream.

Man kan læse en hel linie af gangen med funktionen std::getline.

#include <sstream>
#include <iostream>

int main()
{
using namespace std;

const char* text =
"This is line 1\n"
"This is line 2\n"
"This is line 3";

// Read a single string object at the time
{
istringstream is(text);

string s;
while(is >> s) {
cout << s << endl;
}
}

// Read a single line at the time
{
istringstream is(text);

string line;
while(getline(is, line)) {
cout << line << endl;
}
}
}


Hvilket problem prøver du at løse ?

--
Venlig hilsen

Mogens Hansen



Tomas . (30-01-2009)
Kommentar
Fra : Tomas .


Dato : 30-01-09 22:28

Mogens Hansen <mogens_h@dk-online.dk> skrev:
>
>"Tomas ." <huttelbuttel@hotmail.com>
>wrote in message
>news:12333435100.990315032947837@dtext
>.news.tele.dk...
>> Hejsa
>>
>> Jeg har det problem, når jeg
>>anvender strings, at et mellemrum anses
>> som eol.
>
>Når man indlæser std::string
>objektiver fra en stream anses
>mellemrum for at
>være separator - ikke eol.
>
>> Hvordan får man en string til at
>>acceptere mellemrum? Skal
>> man evt. anvende en anden
>>variabeltype for at denne kan indeholde
>> mellemrum?
>
>Jeg antager du mener når man læser
>std::string objekter ind fra en stream.
>
>Man kan læse en hel linie af gangen
>med funktionen std::getline.
>
>#include <sstream>
>#include <iostream>
>
>int main()
>{
> using namespace std;
>
> const char* text =
> "This is line 1\n"
> "This is line 2\n"
> "This is line 3";
>
> // Read a single string object at the time
> {
> istringstream is(text);
>
> string s;
> while(is >> s) {
> cout << s << endl;
> }
> }
>
> // Read a single line at the time
> {
> istringstream is(text);
>
> string line;
> while(getline(is, line)) {
> cout << line << endl;
> }
> }
>}
>
>
>Hvilket problem prøver du at løse ?

Hej Mogens

Jeg ønsker sådan set at kunne læse en tekst i en simpel DOS-
prompt, hvor man fx bare vha. ex. cin indlæser en tekststreng
til en variabel: "Dette er en tekst" så man vha. cout smider den
ud med alle ord og mellemrum igen.

Simpelt, men kan getline det og gemme den i en string?


--
Mvh.

Tomas


Mogens Hansen (30-01-2009)
Kommentar
Fra : Mogens Hansen


Dato : 30-01-09 22:53


"Tomas ." <huttelbuttel@hotmail.com> wrote in message
news:12333513190.809934873528096@dtext.news.tele.dk...


[8<8<8<]
> Jeg ønsker sådan set at kunne læse en tekst i en simpel DOS-
> prompt, hvor man fx bare vha. ex. cin indlæser en tekststreng
> til en variabel: "Dette er en tekst" så man vha. cout smider den
> ud med alle ord og mellemrum igen.

Det var det jeg forestillede mig.

>
> Simpelt, men kan getline det og gemme den i en string?

Ja - det kan getline.
Og det er rundt regnet det, som det lille program jeg skrev gør, bortset fra
det ikke er fra cin men fra en memory-stream.

--
Venlig hilsen

Mogens Hansen



Tomas . (31-01-2009)
Kommentar
Fra : Tomas .


Dato : 31-01-09 08:06

Mogens Hansen <mogens_h@dk-online.dk> skrev:
>
>"Tomas ." <huttelbuttel@hotmail.com>
>wrote in message
>news:12333513190.809934873528096@dtext
>.news.tele.dk...
>
>
>[8<8<8<]
>> Jeg ønsker sådan set at kunne læse
>>en tekst i en simpel DOS-
>> prompt, hvor man fx bare vha. ex.
>>cin indlæser en tekststreng
>> til en variabel: "Dette er en tekst"
>>så man vha. cout smider den
>> ud med alle ord og mellemrum igen.
>
>Det var det jeg forestillede mig.
>
>>
>> Simpelt, men kan getline det og
>>gemme den i en string?
>
>Ja - det kan getline.
>Og det er rundt regnet det, som det
>lille program jeg skrev gør, bortset fra
>det ikke er fra cin men fra en
>memory-stream.
>

Super. Den prøver jeg.
Tak for hjælpen

--
Mvh.

Tomas


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste