Problem z funkcją getline

Problem z funkcją getline
TP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Cześć,mam pewien problem z funkcją getline
Ogólnie jestem początkującą osobą,więc nie zdziwie się jak coś zrobiłem źle,ale przy użyciu takiego programu

Kopiuj
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string nazwa;
    string haslo;
    cout << "Podaj nazwe uzytkownika :" << "/n";
    getline ( cin, nazwa_, '/n');

    cout << "Podaj haslo:" << "/n";
    getline (cin,haslo_, '/n');
    if (nazwa_ == "admin" && haslo_ == "admin")
    {
        cout << "Dostęp przyznany" << "/n";
    }
    else
    {
        cout << "Niepoprawna nazwa użytkownika lub hasło.Odmowa dostępu";
        return 0;
    }
}

wyskakuje mi następujący błąd
no matching function for call to getline (std::istream&&,std__cxll::string& int)
Próbowałem już kilku rzeczy,ale nic nie zadziałało``>
Czy ktoś wie o co może chodzić
Z góry dziękuje za pomoc

.andy
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1524
0

No jak dla mnie to coś nie tak z argumentami w metodzie getline(). Zamiast nazwa powinno być nazwa zamiast nazwa_ ?
Ilość oraz typy się raczej zgadzają https://www.cplusplus.com/reference/string/string/getline/

several
  • Rejestracja: dni
  • Ostatnio: dni
1

"Wyeskejpuj" poprawnie znak nowej linii ('/n' zamień na '\n') to powinno działać, jeśli poprawisz literówki, które wskazał @.andy

Forward slash to znak jak każdy inny tak więc próbujesz przekazać dwu elementowy ciąg znaków jako pojedyńczy znak.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0

Poprawione, dla czytelności:

takeawaystormPL napisał(a):

Cześć,mam pewien problem z funkcją getline

Ogólnie jestem początkującą osobą,więc nie zdziwie się jak coś zrobiłem źle,ale przy użyciu takiego programu

Kopiuj
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string nazwa;
    string haslo;
    cout << "Podaj nazwe uzytkownika :" << "/n";
    getline ( cin, nazwa_, '/n');

    cout << "Podaj haslo:" << "/n";
    getline (cin,haslo_, '/n');
    if (nazwa_ == "admin" && haslo_ == "admin")
    {
        cout << "Dostęp przyznany" << "/n";
    }
    else
    {
        cout << "Niepoprawna nazwa użytkownika lub hasło.Odmowa dostępu";
        return 0;
    }
}

wyskakuje mi następujący błąd

Kopiuj
no matching function for call to getline (std::istream&&,std__cxll::string& int)

Próbowałem już kilku rzeczy,ale nic nie zadziałało``>
Czy ktoś wie o co może chodzić
Z góry dziękuje za pomoc

Strasznie zmasakrowałeś coś tak prostego: https://godbolt.org/z/bansWG9nq

TP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Panowie,problem rozwiązany,dzięki wielkie wam za pomoc :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.