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

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!
