System("String a");

Tags:    c++ java

<< < 12 > >>
Hej.

Hvis nu man har:

string a = "net send 10.0.0.3 hej";

Hvordan kan man overføre det sådan det kommer over i
en system

system("(INDHOLD AF STRING A)");

Hvis i ikke fatter det så skriv...
Håber i kan hjælpe...

Søren




18 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Det fungere ikke, den springer den bare over



Så er det fordi der gemmes et linie skift i keyboard bufferen.

Følgende program virker:

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
cout << "Skriv noget: ";
string whatever;
getline(cin, whatever);
cout << whatever;

return 0;
}

Prøv at poste det kode der fejler.



Den kan sagtens compeile uden fejl, men når den kommer til det punkt med getline, så springer den bare vidre til næste punkt, hvis du forstår hvad jeg mener...

Søren



Jeg tror godt jeg forstår hvad du mener.
Prøv dette program. Hvis du skriver flere ord (adskilt af mellmrum) første gang, hopper den anden gang over, fordi cin >> whatever; ikke læste hele linien men kun første ord, resten hænger i keyboard bufferen. Når den så når til getline(cin, whatever); læser den resten af linien.
Hvis du derimod kun taster et ord første gang, hopper den ikke anden gang over.

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
cout << "Skriv noget: ";
string whatever;
cin >> whatever;
cout << whatever << endl;
cout << "Skriv noget mere: ";
getline(cin, whatever);
cout << whatever;

return 0;
}

Prøv at vise det kode der fejler.

PS: Hvodan laver jeg en kode eksempel box?



Fold kodeboks ind/udKode 


Det er så den getline som den springer over, skriv hvis du vil have mere kode

pre og /pre i []

Søren

[Redigeret d. 11/01-04 10:48:44 af Søren aka. TriOxid]



Jeg går ud fra at koden er den du postede "09-01-04 22:03"

Er der mellemrum i computernavn?
Hvis brugeren indtaster et computernavn med mellemrum vil den hoppe over når der spørges om besked, uanset om man bruger cin >> whatever; eller getline(cin, whatever); til at læse strengen med.
Prøv at bruge getline(cin, b); til at læse brugernavn.



Okay, det hjalp, det med at bruge getline til ipen

Og du er stadig sikker på du ikke vil have de UP's



Ja, jeg vil ikke have ups.



<< < 12 > >>
t