Omijanie spacji przy wczytywaniu do struktury

0
  1. Przy wczytywaniu danych, jeśli w polu 'title' wpiszę słowa oddzielone spacją, to te po spacji są wczytywane do następnego pola. Jak zrobić, żeby można było w pole 'title' i w pozostałych wpisać choćby dwa wyrazy oddzielone spacją?
  2. Jak powinna wyglądać funkcja wyszukująca po tytule?
#include <stdio.h>
#include <ctype.h>
#include <string.h>

struct book {
    char title[50];
    char genre[50];
    char aname[50];
    int  year;
    };

int main ()
{
    struct book library[10];
    int c=1;
    int i=0;

    for (c=1, i=0; c<11; i++, c++)
    { 
    
    printf("Type title of the %d book\n",c);
    scanf("%s", &library[i].title);
    
    printf("Type genre of the %d book\n",c);
    scanf("%s", &library[i].genre);
    
    printf("Type author's name of the %d book\n",c);
    scanf("%s", &library[i].aname);
    
    printf("Type the year of publishing of the %d book\n",c);
    scanf("%d", &library[i].year);
}
printf("\nThis is your library:");

for(i=0;i<10;i++)
    {
    printf("Title\tGenre\tAuthor's name\tYear of publishing\n");
    printf("%s, %20s, %20s, %20d", library[i].title, library[i].genre, library[i].aname, library[i].year);
    }    
return 0;
} 
0

W C++ służy do tego getline(), szczerze mówiąc nie wiem czy w c jest też taka funkcja, bo nie piszę w tym języku, ale jakbym miał to znaleźć to szukał bym tu:
http://www.cplusplus.com/reference/clibrary/cstdio/
http://www.cplusplus.com/reference/clibrary/cstring/

0

Funkcja isspace sprawdza czy wczytany znak jest znakiem biały, ale nie wiem nadal co z tym zrobić

1 użytkowników online, w tym zalogowanych: 0, gości: 1