Forum: C++ input, output och threads

Forum huvudsida -> Programmering -> C++ input, output och threads

Sidor: 1

Till botten

Birdy 12:43 - 26:e Juni 2009 | Post #1
Medlem
Inlägg: 9


Skicka PM
Jag håller på med en enkelt chatserver + chatklient i C++. Den ska vara väldigt enkelt och eftersom jag vill hålla det enkelt har jag inget GUI, programmet ska alltså vara helt konsolbaserat. Chaten ska se lite ut som IRC, och tanken var att meddelanden ska hamna ovanför "inputfältet" så det ser ut såhär:

Gube: Hej
Gube2: Hejsan
Gube: Jag är en gube.
Gube2: Ingen gubbe i alla fall.
> Meddelandet skrivs in här...

Jag tänkte ha en thread som väntar på att användaren ska skriva något (cin) och en som väntar på svar från servern, som när den tar emot meddelanden skickar till cout.

Problemet är att om jag har kör:

string response;
cin >> response;

I en tråd. Och sen:

cout >> message;

I en annan kommer det att bryta cin:en i den första tråden. Hur löser jag detta på bästa sätt?

-------------------------
Flying Mr. Mu - To the slaughter



limpx123 19:26 - 26:e Juni 2009 | Post #2
Medlem
Inlägg: 1


Skicka PM
Pröva att använd cin.get() för att läsa en character i taget från cin. Då kan du även göra så att programmet reagerar på olika chars såsom escape.

Saknar dock en C++ kompilator på denna dator så kan ej testa detta själv.




NetNinja 22:54 - 27:e Juni 2009 | Post #3
Medlem
Inlägg: 116


Skicka PM
Kommer bli svårt att få det att både mata in och mata ut med cin och cout. Får nog gräva lite i iostream biblioteket för att hitta ett bättre sätt att bara kolla om en knapp blivit tryckt. Annars kommer cin att orsaka en interrupt i ditt program.

-------------------------





Sidor: 1

Forum huvudsida -> Programmering -> C++ input, output och threads
Atom feed

Du får inte posta i den här tråden | Till toppen