Ich möchte mit fgets() eine Benutzereingabe (ein Name) einlesen.
An dieser Stelle [printf("Bitte geben sie den Namen ein\n")] im Programm. Die Zeichen werden in den Puffer char buff [12] gespeichert (oder sollen es).
Aber in der for Schleife in dem case 1 wird nichts ausgeben. Das ist mein erstes Problem. Nun das andere die Funktion fgets() speichert doch '\n' newline diese möchte ich entfernen, das sollte dann nicht mehr in den Array buff stehen.
Hier nun ein Ausschnitt meines Quelltextes.
An dieser Stelle [printf("Bitte geben sie den Namen ein\n")] im Programm. Die Zeichen werden in den Puffer char buff [12] gespeichert (oder sollen es).
Aber in der for Schleife in dem case 1 wird nichts ausgeben. Das ist mein erstes Problem. Nun das andere die Funktion fgets() speichert doch '\n' newline diese möchte ich entfernen, das sollte dann nicht mehr in den Array buff stehen.
Hier nun ein Ausschnitt meines Quelltextes.
Code:
#include<stdlib.h>
#include<stdio.h>
typedef struct data_record { //Datensatz
char * first_name;
char * surname;
char nation[4];
char time[12];
int key;
struct data_record * next;
}elem;
int main()
{
int uChoice=0;
char buff [12];
int i;
while (uChoice!=5)// Das Programm wird beendet wenn der Benutzer 5 eingiebt
{
// Ausgabe der Wahlmöglichkeiten des Benutzers
if (uChoice==0)
{
printf("\nBitte wählen Sie aus!\n1. Eingabe eines neuen Datensatzes\n2. Disqualifikation eines Spielers\n3. Abspeichern der Ergebnisliste\n4. Laden der Ergebnisliste\n5. Beenden (aber wer will das schon)\n");
scanf("%i", &uChoice);
}
// Die gewünschte Aktion des Benutzers ausführen
switch (uChoice)
{
// Eingabe eines neuen Datensatzes
case 1:{
printf("Bitte geben sie den Namen ein\n");
fgets(buff,sizeof(buff), stdin);
for (i = 0;i< 10;i++)
{printf("%i",3);}
uChoice = 10;
}