Witam. Potrzebuje pomocy w poniższym zadaniu.
"Zaprojektuj funkcję, która pobiera z danych wejściowych i zapisuje do przekazanej tablicy pierwsze słowo, a resztę wiersza porzuca. Funkcja powinna pomijać
znaki odstępów na początku wejścia. Za słowo możesz uznać ciąg znaków niezawierający odstępów, tabulatorów lub znaków nowej linii. Użyj funkcji getchar().
Zaprojektuj i przetestuj funkcję z poprzedniego ćwiczenia, która dodatkowo przyjmuje w wywołaniu limit liczby wczytywanych znaków"
Udało mi się zrobić coś takiego.
char * slowo(char * lan, int n)
{
char * wynik;
char * temp;
wynik = fgets(lan,n,stdin);
if(wynik)
{
while(*lan == ' ' || *lan == '\t')
lan++;
temp = lan;
while(*temp != '\n' && *temp != '\0' && *temp != ' ' && *temp != '\t')
temp++;
if(*temp == '\n' || *temp == ' ' || *temp == '\t')
*temp = '\0';
else
while(getchar()!='\n')
continue;
}
return wynik;
Funkcja ta czyta zawsze jeden słowo, lecz jeśli na początku znajdują się jakieś znaki odstępu to one również są kopiowane do tablicy. Nie mam pomysłu jak to przerobić, żeby działało tak w jak w treści zadania.