Forum huvudsida -> Programmering -> Avbryta en while(cin>>input)
Sidor: 1
skalman93 | 16:31 - 2:a Oktober 2009 | Post #1 | |
Medlem Inlägg: 8 Skicka PM |
Hallå! Hur bryter kommer man ur en while(cin>>input)? Här kommer en bit kod för att visa.
Jag hade för mig att det skulle gå med Ctrl+D men då avslutades hela programmet. Tacksam för svar! //Skalman |
Kekke | 17:56 - 2:a Oktober 2009 | Post #2 | |
Medlem Inlägg: 4 Skicka PM |
Vad är input? Testa detta: while(getline(cin, input) && !input.empty()) { cout << input; } ------------------------- Ingen signatur! |
skalman93 | 11:32 - 3:e Oktober 2009 | Post #3 | |
Medlem Inlägg: 8 Skicka PM |
Det funkar inte. Det jag vill göra är att fylla på deque1-dequen med strängar tills att användaren säger stopp. input är en sträng. |
martin310 | 15:48 - 3:e Oktober 2009 | Post #4 | |
Medlem Inlägg: 132 Skicka PM |
Testa i while loopen:
Denna kod väntar på att användaren trycker på en knapp och då avslutar den loopen. Eller:
Denna kod väntar på att användaren trycker på en knapp som motsvarar där det står knapp. Och då avslutar den loopen. ------------------------- Hjälp jorden med Granola, det är gratis och funkar på både Windows och Linux, och försämrar inte datorns prestandad! Senast redigerad 15:51 - 3:e Oktober 2009 |
Kekke | 19:23 - 3:e Oktober 2009 | Post #5 | |
Medlem Inlägg: 4 Skicka PM |
Citat av skalman93:Det funkar inte. Det jag vill göra är att fylla på deque1-dequen med strängar tills att användaren säger stopp. input är en sträng. Ja, men gör du som jag sa så avslutar den loopen när man bara trycker ENTER utan att skriva något. Citat av martin310: Testa i while loopen: I ditt första exempel så kommer den ju att (om jag läser rätt) avbryta vad han än gör? Han kan alltså inte skriva in strängar eller något? ------------------------- Ingen signatur! Senast redigerad 19:25 - 3:e Oktober 2009 |
kode | 19:50 - 3:e Oktober 2009 | Post #6 | |
Medlem Inlägg: 45 Skicka PM |
och ^D fungerar inte? Rent teoretiskt borde väl en while(cin>>input) läsa till <EOF> eller? |
Vitdom | 20:14 - 3:e Oktober 2009 | Post #7 | |
Medlem Inlägg: 71 Skicka PM |
Citat av kode:och ^D fungerar inte? Rent teoretiskt borde väl en while(cin>>input) läsa till <EOF> eller? std::cin har egenskapen att den läser inmatning tills att den stöter på ett nyradstecken, mellanslag eller tab. Man skickar inmatningen till std::cins buffert om man skriver in ett nyradstecken. Hur koden ska se ut beror på när du vill att loopen ska avslutas. Vill du t.ex. att den ska läsa tills att std::cin stöter på EOF(Ctrl+Z) så är detta en fullt duglig kod:
-------------------------
Senast redigerad 20:22 - 3:e Oktober 2009 |
skalman93 | 22:08 - 8:e Oktober 2009 | Post #8 | |
Medlem Inlägg: 8 Skicka PM |
Jo alltså när jag trycker Ctrl+D som borde funka tycker jag så avslutas programmet utan vidare. Samma gäller Ctrl+Z, men å andra sidan så är det inte så konstigt då jag använder linux. Det jag vill göra är att mata in ett obestämt antal variablar. |
kode | 01:06 - 9:e Oktober 2009 | Post #9 | |
Medlem Inlägg: 45 Skicka PM |
Ctrl-Z skickar programmet till bakgrunden, det avslutar det inte. Det är multitaskande, det där *nix |
skalman93 | 09:38 - 9:e Oktober 2009 | Post #10 | |
Medlem Inlägg: 8 Skicka PM |
Men varför står det då "Process ended" ? |
martin310 | 16:58 - 11:a Oktober 2009 | Post #11 | |
Medlem Inlägg: 132 Skicka PM |
Jag har för mig att man ska kunna lägga till kort-kommandon till dos. ------------------------- Hjälp jorden med Granola, det är gratis och funkar på både Windows och Linux, och försämrar inte datorns prestandad! |
kode | 19:09 - 14:e Oktober 2009 | Post #12 | |
Medlem Inlägg: 45 Skicka PM |
Citat av skalman93:Men varför står det då "Process ended" ? "Stopped" eller nåt i den stilen kan det stå, ja, men det ligger kvar i bakgrunden. sedan kan man låta det köra vidare i bakgrunden genom att skriva bg, eller för all del få fram det igen med fg |
Sidor: 1
Forum huvudsida -> Programmering -> Avbryta en while(cin>>input)
Du får inte posta i den här tråden | Till toppen
Datum
2024-12-23 10:38
Vecka: 52
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.