|
|
@ -3,16 +3,30 @@ |
|
|
|
#include <string.h> |
|
|
|
|
|
|
|
char* getUserInput() { |
|
|
|
//Beim benutzen von dieser Funktion sollte man danach free(userinput) benutzen, damit der speicherplatz wieder freigegeben wird |
|
|
|
char *input = NULL; |
|
|
|
size_t size = 0; |
|
|
|
//getline weißt speicher zu deshalb größe 0 |
|
|
|
printf("Ihre Eingabe: "); |
|
|
|
getline(&input, &size, stdin); |
|
|
|
|
|
|
|
size_t len = strlen(input); //ignorieren von neuer Zeile |
|
|
|
const int BUFFER_SIZE = 64; |
|
|
|
char *input = (char*)malloc(BUFFER_SIZE * sizeof(char)); |
|
|
|
if (input == NULL) { |
|
|
|
// Fehler bei speicherzuweisung |
|
|
|
return NULL; |
|
|
|
} |
|
|
|
|
|
|
|
printf("Enter your input: "); |
|
|
|
if (fgets(input, BUFFER_SIZE, stdin) == NULL) { |
|
|
|
// Fehler bei fgets |
|
|
|
free(input); |
|
|
|
return NULL; |
|
|
|
} |
|
|
|
|
|
|
|
size_t len = strlen(input); |
|
|
|
if (len > 0 && input[len - 1] == '\n') { |
|
|
|
input[len - 1] = '\0'; |
|
|
|
} |
|
|
|
|
|
|
|
// Länge an den eigentlichen input anpassen um speicher zu sparen |
|
|
|
char *resizedInput = realloc(input, strlen(input) + 1); |
|
|
|
if (resizedInput != NULL) { |
|
|
|
input = resizedInput; |
|
|
|
} |
|
|
|
return input; |
|
|
|
} |