title: length of a string with scanf("%number[^\n], array[N].struct)
body: <p>So, I have to create a program to manage a library WITHOUT USING #include </p>
  
  <p>my problem is that in the function I use to add a book, I have to tell the user if he exceeded the array limit or not. What do you suggest me to do?</p>
  
  <p>I decided to use <code>scanf(" %NUMBER[^\n], libro[i].title)</code></p>
  
  <p>Here's what I have so far (inside the printf's I basically ask to input authors and stuff, or I tell the user that he exceeded the limit):</p>
  
  <pre><code>int main(int argc, char *argv[]){
      int N, codice, i = 0, j = 0;
      book Library[MAXlibri];
      boolean ricerca, esito;
  
  void InsertBook(book libro[], int i){
      printf("Inserire il titolo del libro (max 50 caratteri)\n");
      scanf(" %49[^\n]", libro[i].title);
      if(sizeof(libro[i].title) &gt; 50){
          printf("Sono stati inseriti troppi caratteri quando si inseriva il titolo del libro\n");
      }
      printf("Inserire autore o autori (max 30 caratteri)\n");
      scanf(" %29[^\n]", libro[i].auth);
      if(sizeof(libro[i].auth) &gt; 30){
          printf("Sono stati inseriti troppi caratteri quando si inseriva l'autore\n");
      }
      printf("Inserire casa editrice (max 20 caratteri)\n");
      scanf(" %19[^\n]", libro[i].editor);
      if(sizeof(libro[i].editor) &gt; 20){
          printf("Sono stati inseriti troppi caratteri quando si inseriva la casa editrice\n");
      }
      printf("Inserire una breve descrizione (max 50 caratteri)\n");
      scanf(" %49[^\n]", libro[i].descr);
      if(sizeof(libro[i].descr) &gt; 50){
          printf("Sono stati inseriti troppi caratteri quando si inseriva la descrizione\n");
      }
      printf("Inserire genere letterario (max 20 caratteri)\n");
      scanf(" %19[^\n]", libro[i].genre);
      if(sizeof(libro[i].genre) &gt; 20){
          printf("Sono stati inseriti troppi caratteri quando si inseriva il genere letterario\n");
      }
      printf("Inserire codice numerico libro\n");
      scanf("%d", &amp;libro[i].code);
      printf("Inserire anno di pubblicazione\n");
      scanf("%d", &amp;libro[i].year);
      printf("Inserire numero pagine\n");
      scanf("%d", &amp;libro[i].pages);
      if(sizeof(libro[i].title) &lt; 50 &amp;&amp; sizeof(libro[i].auth) &lt; 30 &amp;&amp; sizeof(libro[i].editor) &lt; 20 &amp;&amp; sizeof(libro[i].descr)&lt;50 &amp;&amp; sizeof(libro[i].genre) &lt; 20){
          printf("Libro inserito con successo!\n");
      }
      else{
          printf("Il libro non e' stato inserito correttamente, riprovare\n");
      }
  }
  </code></pre>