fgets in C++



  • Ich finde keine Funktion in C++, die die gleiche Wirkung, wie fgets() hat und nicht mit char sondern mit string arbeitet. D.h. den ganzen Text liest. Hier ein Beispiel(in C):

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
    char Text[300];
    
    printf("Text eingeben: ");
    fgets(Text,300,stdin);
    printf("\n%s",Text);
    
      system("PAUSE");	
      return 0;
    }
    

    soweit bin ich mit C++:

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        string Text;
    
        cout<<"Text eingeben: ";
    /*Funktion(Text), cin geht ja nicht, weil die Funktion nur ein Wort liest, oder?*/
        cout<<endl<<Text;   
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Danke,

    Felix

    _____________________

    www.c-programmieren.com



  • std::string str;
    std::getline(cin, str);
    

    Edit: Ach ja, hier die Referenz dazu: http://www.cppreference.com/cppstring/getline.html



  • Die Funktion, die du suchst, nennt sich getline() (gibt's als IStream-Member für char* und als globale Funktion für std::string).



  • Danke


Log in to reply