Takedowner Napisano Grudzień 26, 2009 Zgłoszenie Share Napisano Grudzień 26, 2009 Dzień dobry. Napotkałem, choć wyadawać by się mogło, trywialny problem z obsługą strumienia wejściowego "szerokich" znaków poprzez obiekt "wcin". Problem polega na tym, że po poproszeniu użytkownika o wpisanie ciągu znaków (taka krótka prezentacja): #include <wchar.h> #include <iostream> #include <cstdio> wchar_t buf[100]; cout << "Wpisz coś.....\n"; wcin >> buf; ... program nie zatrzymuje się, aby użytkownik mógł wpisać ciąg znaków, ale wykonywanie po wyświetleniu komunikatu jest nadal kontynuowany i wygląda na to, jakby umieścił w tablicy znak "\n", co oczywiście jest nie pożądaną operacją. Oczywiście również przed tą instrukcją próbowałem również czyścić strumień wejściowy, jak i strumień wyjściowy, za pomocą instrukcji fflush(stdin); oraz fflush(stdout); jak również w pętli próbowałem czyścić strumień, ale również to nie dało pozytywnych efektów. Dodam, że ze zwykłaym strumieniem, dla typu char nie ma tego problemu. Pomyślałem, że należy dołączyć bibliotekę #include <winstream> ale kompilator powiadamia mnie, że biblioteki nie odnaleziono. Dodam, że program kompilowałem gcc 4.4.1. Bardzo proszę o pomoc. Pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Kenji_Takahashi Napisano Styczeń 2, 2010 Zgłoszenie Share Napisano Styczeń 2, 2010 Dziwne, u mnie (na tym samym gcc) dziala zupelnie normalnie... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Takedowner Napisano Styczeń 16, 2010 Autor Zgłoszenie Share Napisano Styczeń 16, 2010 Dziwne, u mnie (na tym samym gcc) dziala zupelnie normalnie... Witam, dziękuję za odpowiedź. A może umie mi ktoś pomóc w takiej kwestii. Otóż przy wczytywaniu z pliku polskich literek, są one przechowywane jako 16 bitowe znaki. U innego kolegi ten sam program uruchomiony, ale jednak w pamięci rezydują jako 8 - bitowe znaki. Czy może spotkał się już z takim problemem? A może należy jakieś ustawienia systemowe zmienić? Z góry dziękuję za odpowiedź. Pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się