Zaimplementuj bezpieczną wersję funkcji gets(), która posiada dodatkowy argument zabezpieczający przed przepełnieniem podanej tablicy znakowej. Funkcja o nazwie readline, czyta linię ze standardowego wejścia (usuwa ją stamtąd) i umieszcza ją w podanej tablicy znakowej. Ostatni znak linii (znak nowego wiersza - '\n') zastępuje zerem (znakiem '\0'). Funkcja nie wczyta więcej niż n znaków oraz przerywa wczytywanie po napotkaniu końca pliku EOF. Do wczytywania kolejnych znaków ze standardowego wejścia użyj funkcji getchar().
Dane: tablica znakowa t oraz liczba całkowita n
Wynik: funkcja zwraca wskaźnik do tablicy t zawierającej wczytany łańcuch znakowy (linia pobrana ze standardowego wejścia ale nie więcej niż n znaków) lub wartość NULL w przypadku natrafienia na koniec pliku przy wczytywaniu pierwszego znaku ze strumienia.
Napisz program, który używając napisanej funkcji readline, czyta kolejno wszystkie linie tekstu ze standardowego wejścia (z klawiatury). Każdorazowo po wczytaniu kolejnej linii tekstu jest ona wyświetlana na standardowym wyjściu (na ekranie).
Dodaj do programu z poprzedniego zadania funkcję o nazwie wordcount, która dla podanego łańcucha zwraca ilość wyrazów umieszczonych w łańcuchu. Zakładamy, że wyrazem jest ciąg znaków składający się wyłącznie z liter. Każdy inny znak niż litera stanowi separator wyrazów.
Dane: łańcuch s
Wynik: liczba całkowita określająca ilość wyrazów w łańcuchu s.
Zmodyfikuj program z poprzedniego zadania w taki sposób, aby każdą wypisywaną linię tekstu poprzedzał liczbą wyrazów występujących w tym łańcuchu.
Przykład (kolejno podane linie oraz uzyskana odpowiedź programu):
Ala ma kota 3 Ala ma kota Ten program jest bardzo $%^@^&*!^&*# 4 Ten program jest bardzo $%^@^&*!^&*# _W_tym_wierszu_brak_____spacji____ 5 _W_tym_wierszu_brak_____spacji____
Dodaj do programu z poprzedniego zadania funkcję o nazwie odwracanie, która w podanym łańcuchu znakowym odwraca kolejność liter.
Dane: łańcuch s
Wynik: łańcuch s, w którym odwrócono kolejność znaków. Wartością zwracaną jest wskaźnik (adres) s
Zmodyfikuj program z poprzedniego zadania w taki sposób, aby wypisywał na ekranie kolejne linie z odwróconą kolejnością liter.
Przykład (kolejno podane linie oraz uzyskana odpowiedź programu):
Ala ma kota 3 atok am alA Ten program jest bardzo $%^@^&*!^&*# 4 Ten program jest bardzo $%^@^&*!^&*# _W_tym_wierszu_brak_____spacji____ 5 ____ijcaps_____karb_uzsreiw_myt_W_ (kajak) 1 )kajak(
str2int, która zamieni podany łańcuch znakowy na liczbę całkowitąstr2float, która zamieni podany łańcuch znakowy na liczbę typu floatint2str, która podaną liczbę całkowitą zamieni na łańcuch