[...]Usango fgets(str,100,stdin) non mi fa nemmeno leggere l'input che termina quando viene eseguita questa istruzione.[...]
Cosa vuoi dire con questo ?

codice:
char buffer[100];
fgets(buffer,100,stdin);
puts(buffer);