Wie Wörter einlesen C++?

1 Antwort

In c++ kannst du mit std::cin in einen `string` streamen:

#include <iostream>
#include <string>

std::string input;
std::cin >> input;
std::cout << input;

In c solltest du `getline()` verwenden¹. Das reserviert automatisch Arbeitsspeicher und vermeidet Bufferoverflows mit UB oder verlorenen Daten:

#include <stdio.h>
#include <stdlib.h>

char *input = NULL;
size_t len;

if (getline(&input, &len, stdin) != -1) {
  printf("%s", input);
}

free(input);

¹ falls "Dynamic memory extensions" verfügbar sind. Sonst musst du manuell einen Buffer reservieren und z.b. mit fgets() oder scanf() einlesen.