R
						
					
					
						
					
				
				
					Hallo corado!
Warum machst du nicht so was:
scanf("%[^\n]", c_name);
#include <stdio.h>
#include <stdlib.h>
void clpuf(void)
 {
 while (getc(stdin) != '\n')
    ;
 }
int main()
{
 int i;
 char c_posi[200],  c_nega[200];
 for (i = 0; i < 200; i++)
      c_posi[i] = c_nega[i] = 0;
 printf("Beispiel Positiv- und negativ Liste bei scanf\n");
 printf("\nBitte zum Test einen String\nMuster.....: 123430abc  \neingeben.\nEingabe:  ");
/** liest nur Zeichen ein die innerhalb der eckigen Klammern stehen
   * und beendet die Eingabe in  die Variable beim ersten Zeichen, das nicht
   * in der Liste steht*/
 scanf("%[0123456789+-*/=]", c_posi);
 printf("Die Eingabe war: %s \n\n", c_posi);
 /** Beseitigt die restlichen im Tastaturpuffer stehenden Zeichen, da diese sonst
   * bei der naechsten Eingabe wieder verwendet werden */
 clpuf();
 printf("\nBitte zum Test einen String\nMuster.....: asdfgh123  \neingeben.\nEingabe:  ");
 scanf("%[^1234567890]", c_nega);
 printf("Die Eingabe war: %s \n\n", c_nega);
 clpuf(); /** Tastaturpuffer leeren*/
 printf("\nBitte zum Test einen String mit Leerzeichen eingeben\nEingabe:  ");
 /** liest alle Zeichen außer den Newline-Zeichen(Enter-Taste) ein*/
 scanf("%19[^\n]", c_nega);
 printf("Die Eingabe war: %s \n\n", c_nega);
 printf("Das Programm wird nun beendet.....\n");
return EXIT_SUCCESS;
}`
Mit19 kannst du in diesen Beispiel die Zahl der einzulesenden Zeichen begrenzen, um das abzusichern. 
Sorry aber ich hatte dieses Jahr im Januar einen sehr schweren Arbeitsunfall. Ich hoffe i am back again.
Laut dem Docs bin ich frühestens wieder Ende 2099 wieder arbeitsfähig. Dann bin ich 134 Jahre alt.
Viel Spaß beim ausprobieren.
Rustyoldguy