SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Förstasida   Anmälning   Postarkiv   Forum   Kalender   Sök
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [CPROG] getline under en switch



In article <sslug@sslug> you wrote:


>>    char dummy;
>>    std::cout << "Indtast valg : " << flush;
>>    std::cin >> valg;
>>    std::cin >> dummy; // læs LF, i DOS CR-LF ?
>>  ....
>> 

> Tak jeg kan godt se problemet.
> Jeg er først lige startet på at programmere under linux, og har aldrig haft 
> dette problem under Windows.

Men hvordan har du indlæst i Windows ?, med windows/DOS getchar() ?

> Det er fra en consol, hvordan læser jeg automatisk LF ind i den dummy ?

Det er vist ovendofr (dummy), men løsningen er uegnet da hvad
hvis der ikke er LF ?

Nu ved jeg jo ikke i hvilken sammenhæng programmet skal virke.

Skal det virke med både consol og redirected input, vil jeg foreslå
at du indlæser HELE linier i en liniebuffer i stedet for tegn/linier
blandet.
Så skal du blot fiske "valg" ud af strengen liniebuffer.

Vil du have noget der skal virke uden at trykke "ENTER" efter hver input
så plejer jeg i C at kalde

  tcsetattr ( fd, TCSAFLUSH, &saved_termios_data );

(og passende kald til at sætte indstillinger korrekt når programmet slutter)

Dettte virker dog ikke helt godt med blandet C++ std::cin, men det
virker med getch() og andre standard C input kald.

Alternativ brug ncurses (også C) til konsol/xterm....

Readline() var også en måde hvis man vil have redigeringsmuligheder.


-- 
Frank Damgaard 



 
Förstasida   Anmälning   Postarkiv   Översikt   Kalender   Sök

 
 
Fel och synpunkter angående webb-sidorna skickas till <www_admin>. Senaste ändring 2005-08-10, klockan 20:08
Denna sidan underholds av MHonArc .