Cała linia

0

Witam! Mam takie pytanie jak do zmiennej typu string czytać calą linie tekstu (razem ze spacjami) z wpisanej z klawiatury?
cin wczytuje tylko do momentu wystapienia pierwszej spacji
cin.get i cin.getline napotyka na jakieś błędy

0

scanf("%[^\n]",buf);

0

Niby program kompiluje sie poprawnie, jest jeden Warning, ale zmienna do ktorej cos wpisalem jest pusta i nic nie wyswietla na ekranie

0

Jeszcze raz ponawiam pytanie czy ktoś wiej jak wczytać całą linie z klawiatury (ze spacjami) do zmiennej string? No chyba że jest to niemożliwe w co raczej wątpie.

0

hmm jaki warning i podaj kod to to uzycie scanf powinno dzialac bez problemu

0


char asdf[ 1234 ];
fgets( asdf, 1234, stdin );
puts( asdf );

0

#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int main() {
string a;
cout << "Podaj dowolny lancuch:\n";
scanf("%[^\n]",a);
cout << a;
return 0;
}

i warning który zwraca przy kompilacji
E:/Programy/c++/program1.cpp:8: warning: cannot pass objects of non-POD type struct std::string' through...'

0
        char buf[20];
        cin.getline(buf, 20);
        cout << buf;
0

#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int main() {
string a;
cout << "Podaj dowolny lancuch:\n";
scanf("%[^\n]",a);
cout << a;
return 0;
}

i warning który zwraca przy kompilacji
E:/Programy/c++/program1.cpp:8: warning: cannot pass objects of non-POD type struct std::string' through...'

Lol, funkcja scanf to ansi-c wiec nie mozesz podac jej zmiennej string tylko zwykly ciag char....

0

No to więc właśnie pytam jak do stringa wczytać całą linie bo do char wiem jak i z tym nie ma problemu, ale nie wiem jak wczytać do zmiennej string. Samo cin wczytuje do momentu wystąpienia spacji, a get() i getline() generują błędy

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0