Jak wczytać ciąg znaków ze spacjami?

PL
Data dodania: 2011-09-21, Autor: Karol, Wyświetleń: 624

Bardzo często do wczytywania ciągów znaków posługujemy się konstrukcjami:

// język C
char napis[100];
scanf("%s", napis);

//język C++
std::string napis;
std::cin >> napis;

Jednakże w obu tych rozwiązaniach separatorem jest dowolny biały znak, czyli spacja, tabulator lub koniec linii. Z tego względu powyższe metody zawsze wczytywać będą ciągi znaków aż do napotkania któregokolwiek z tych znaków. Jeśli zatem potrzebujemy wczytać ciąg znaków zawierający w sobie np. spacje musimy posłużyć się inną metodą:

Metoda 1

// język C
char napis[100];
fgets(napis, sizeof(napis), stdin);

// język C++
std::string napis;
std::getline(std::cin, napis);

Metoda 2

// język C
char napis[100];
scanf("%*[^\n]", sizeof(napis)-1, napis);

 


Aby dodawać komentarze musisz być zalogowany!


Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?