Niedawno pisalem programik znajomemu na zaliczenie i on pokazal mi pewna funkcje z biblioteki conio.h: cgetch(). Wydawala mi si eona dosyc dziwna ale dziala zaskakujaco dobrze:
#define MAX 81 // maksymalna dlugosc napisu
char bufor[MAX+2]; // musisz zarezerwowac bufor o dwa znaki dluzszy
bufor[0]=MAX // w to miejsce wstawiasz ograniczenie, moze by cos innego niz MAX, byle nie wiecej niz 81
cgetch(bufor); // wywolanie funkcji - wczyta tylk bufor[0] znakow, czeka na zatwierdzenie enterem i reaguje na kasowanie!
Tak dziala ta funkcja, jednak nie jest ona dostepna we wszystkich kompilatorach (np nie ma jej w visualu, ale powinna byc w builderze)
W bufor[1] miesci sie liczba przeczytanych znakow.
Jesli chcesz wypisac lub skopiowac zawartosc bufora musisz podac adres przesuniety o dwa, zatem:
printf("%s",bufor+2);
lub
strcopy(jakis_adres_napisu,bufor+2);
Mam nadzieje ze nic nie pomieszalem