Jak mogę odczytać dowolnie długą linię w C?
Chciałbym mieć odpowiednik (w C)getline
w C ++:
std::string s;
getline(std::cin,s); // reads an arbitrarily long line and
// inserts its contents on s
Czy jest jakiś sposób na zrobienie czegoś takiego w C? Szukam czegoś, co wygląda tak:
char* s;
getline(stdin,s); // allocates the space necessary to fit the read
// line and make s point to it
EDYTOWAĆ: Postanowiłem użyć POSIXgetline
funkcja na końcu, ponieważ jestem na Linuksie (uruchomman getline
jeśli nie wiesz o czym mówię), ale Michael Burr przedstawił implementacjęgetline
który działa na innych systemach operacyjnych, w którychgetline
jest domyślnie niedostępny. Nawet jeśli jego implementacja nie jest najskuteczniejsza, można ją wykonać tak, jak chcę, więc oznaczyłem ją jako odpowiedź na moje pytanie.