c++stdstring

convert a char* to std::string


I need to use an std::string to store data retrieved by fgets(). To do this I need to convert the char* return value from fgets() into an std::string to store in an array. How can this be done?


Solution

  • std::string has a constructor for this:

    const char *s = "Hello, World!";
    std::string str(s);
    

    Note that this construct deep copies the character list at s and s should not be nullptr, or else behavior is undefined.