Gå til innhold

Slette string stream


Anbefalte innlegg

Lager et program i C++ der jeg bruker "net send".

Jeg bruker stringstream til å laste en streng som skal sendes.

char Input[20];
stringstream ss;
int x = 1;
while(x=x)
{
cin.getline(Input,30);
ss << "net send 10.10.10.10 " << Input;
system(ss)
}

Noe liknende ihvertfall, har det på en annen data

 

Dette virker første gangen, men så legger han til net send 10.10.10.10 + den nye inputen oppå den gamle, slik at den sender

net send 10.10.10.10 melding 1 net send 10.10.10.10 melding 2.

 

Kan jeg slete alt som stringstreamen inneholder?

 

Edit : Postet før jeg var ferdig med å skrive :blush:

Endret av <BøNilzen>
Lenke til kommentar
Videoannonse
Annonse

Du trenger knapt stringstream her hvis jeg forstår deg rett? Du kan heller bruke noe sånt:

std::string cmd("net send 10.10.10.10 ");
(...)    // Yada yada
system((cmd + Input).c_str())   // system forventer en char *

 

Litt morsomt at det skulle bli spørsmål om stringstream, jeg sliter litt med den klassen akkurat nå. Noen som vet den korrekte måten å resette en strøm (simpelthen å resette stringbufferen med str(enStreng) er ikke nok)?

Lenke til kommentar

Jeg bruker den samme stringstreamen om igjen, og den må resettes. Selv om jeg setter stringbufferen til en ny streng, henger det igjen tilstand. Det jeg har kommet fram til er å kalle seekg(0) (start fra begynnelsen) og clear() (null ut feilbits).

 

Edit: Forresten kan jeg kanskje komme med et lite tips relatert til innlesing av tekst. I forbindelse med en liten parser jeg var nødt til å skrive sleit jeg med å finne en komfortabel måte å lese inn linjer av arbitrær lengde, i standard C++. I parseren gjør jeg også matching ved hjelp av boost::regex som kan ta imot iteratorer, men std's filiterator tillater ikke backtracking så vidt jeg kan se. Heldigvis fant jeg ut at andre har slitt med samme problemet (som ikke er uvanlig) og det finnes en løsning i form av boost::spirit::file_iterator. Med denne gikk det fint å matche linje på linje med tekst (stringstream var til hjelp med å ekstrahere verdier) :] Meget praktisk.

Endret av A_N_K
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...