Entfernen Sie nachgestellte newline-Zeichen von fgets() input

Ich versuche einige Daten vom Benutzer und senden Sie es an eine andere Funktion im gcc. Der code ist so etwas wie dieses.

printf("Enter your Name: ");
if (!(fgets(Name, sizeof Name, stdin) != NULL)) {
    fprintf(stderr, "Error reading Name.\n");
    exit(1);
}

Allerdings finde ich, dass es ein newline \n Charakter. Also, wenn ich geben Sie John es endet zu senden John\n. Wie Entferne ich das \n und senden eine richtige string.

if (!fgets(Name, sizeof Name, stdin)) (zumindest nicht zwei Negationen, ! und !=)
Pate "nicht verwenden zwei Negationen" --> hmmm, wenn wir tief Graben "nicht" und "negation" sind die beiden Negationen. ;-). Vielleicht "Verwenden if (fgets(Name, sizeof Name, stdin)) {.
Ich bin sicher, dass Sie gemeint if (fgets(Name, sizeof Name, stdin) == NULL ) {
True: lästigen !:

InformationsquelleAutor sfactor | 2010-04-22

Schreibe einen Kommentar