06. februar 2002 - 10:00Der er
6 kommentarer og 1 løsning
End-of-file for string?
Hej Eksperter Kan I forklare mig hvordan jeg giver mit program besked om at mit input ender nu og det skal eksekvere resten af program koden når mit input er string?
Ved doubles er det let idet jeg bare taster et bogstav, og da det er en ulovlig double, betragter programmet det som en end-of-file indikator, og kører resten af programmet.
Hvad er en ulovlig værdi for en string? Eller kan jeg selv definere end-of-file værdien i mit program?
using std::cout; using std::string; using std::cin; using std::endl; using std::vector; using std::count;
int main()
{ // ask for input cout << "Please enter input to be analyzed: "; vector<char> input; char inp; // invariant: input contains all the input words while (cin >> inp) input.push_back(inp);
cout << endl << "The number of entries in the vector is " << input.size() << "!" << endl; int i = 0; char testword = 'test'; count(input.begin(), input.end(),testword,i); cout << "The number of 5's in the input are: " << i;
Koden kopilerer fint nok i "Borland C++ Builder 5.0 Standard Update Pack 1", men når jeg trykker på <enter> for at afslutte mit input flytter curseren bare til næste linje og afventer mere input. Ppå den måde ekseveres resten af programmet aldrig.
Det er derfor jeg gerne vil vide hvordan jeg definere en sekvens der læses af programmet som "nu er input slut, eksekver næste step i koden".
Chries! Jeg opretter et nyt spørgsmål med syntaxen for at definere <Enter> som end-of-file indicator så du kan få point når jeg engang har fattet svaret. OK?
// invariant: input contains all the input words while (cin >> inp && inp != eosChar) input.push_back(inp);
idet du så definerer 'char eosChar = '\x1B';' (for ESC som afslut) eller 'char eosChar 0 '\r';' (for ENTER)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.