Witam. Potrzebuję wczytać do zmiennej napis ze standardowego wejścia (scanf,gets...). Problem w tym, że nie wiem jak prawidłowo to zrealizować, żeby można było wczytać napis o jakiejś wielkiej długości (np 10tyś znaków). Oprócz tego będę potrzebował odwoływać się do pojedynczych znaków z tego napisu, np. sprawdzić czy piąty znak to 'x'. Jak coś takiego prawidłowo zrobić?
Lista..
Tego nie lubię w C, bo jakbyś jej nie napisał, to masz wrażenie, że nie wygląda za ładnie..
Tylko ja widzę Tu jeszcze jeden problem z tym wczytywaniem.. Do kiedy to wczytywać?
W C++ jakbyś miał wczytać znaki do char(Co jest głupotą, bo masz std::string) zrobisz Sobie:
while(std::cin>>std::noskipws>>temp){
dodaj(lista,temp);
if(temp=='\n') break;
}
i wrzucasz je bezproblemowa do listy. Ale flaga skipws jest w przestrzeni nazw std.
Nigdy nie uczyłem się C i może to nie jest wcale problem, bo na końcu coś tam stoi. Musisz poszukać.. a jak Ci się nie chce, to możesz sam zadbać o to, żeby zawszę coś tam stało..
No właśnie tylko problem w tym, że nie mogę pisać w C++ tylko w samym C. Listy wiem jak się robi, tylko właśnie problem jest taki, że nie wiem jak taka struktura miałaby wyglądać i jak zrealizować wczytywanie. Wczytywanie mogłoby się kończyć enterem. Jakieś podpowiedzi?
char c;
while ((c = getchar())!='\n') {
putchar(c);
}
Chyba takie coś wystarczy:
struct Znak{
char znak;
struct Znak*next;
};
No faktycznie zapomniałem o funkcji getchar()
Dzięki wielkie za pomoc