Saltar al contenido

¿Cómo convierto de stringstream a string en C++?

Hola usuario de nuestra web, hallamos la respuesta a tu búsqueda, desplázate y la encontrarás aquí.

Solución:

​​​​​​​

yourStringStream.str()

Utilice el método .str():

Gestiona el contenido del subyacente. string objeto.

1) Devuelve una copia del subyacente string como si llamara rdbuf()->str().

2) Reemplaza el contenido del subyacente string como si llamara rdbuf()->str(new_str)

notas

La copia del subyacente string devuelto por str es un objeto temporal que se destruirá al final de la expresión, por lo que llamar directamente c_str() sobre el resultado de str() (por ejemplo en auto *ptr = out.str().c_str();) da como resultado un puntero colgante…

std::stringstream::str() es el método que estás buscando.

Con std::stringstream:

template 
std::string YourClass::NumericToString(const T & NumericValue)

    std::stringstream ss;
    ss << NumericValue;
    return ss.str();

std::stringstream es una herramienta más genérica. Puedes usar la clase más especializada. std::ostringstream para este trabajo específico.

template 
std::string YourClass::NumericToString(const T & NumericValue)

    std::ostringstream oss;
    oss << NumericValue;
    return oss.str();

Si está trabajando con std::wstring tipo de cuerdas, debes preferir std::wstringstream o std::wostringstream en lugar de.

template 
std::wstring YourClass::NumericToString(const T & NumericValue)

    std::wostringstream woss;
    woss << NumericValue;
    return woss.str();

si quieres el tipo de carácter de tu string podría ser seleccionable en tiempo de ejecución, también debe convertirlo en una variable de plantilla.

template 
std::basic_string YourClass::NumericToString(const NumType & NumericValue)

    std::basic_ostringstream oss;
    oss << NumericValue;
    return oss.str();

Para todos los métodos anteriores, debe incluir los siguientes dos archivos de encabezado.

#include 
#include 

Nótese que el argumento NumericValue en los ejemplos anteriores también se puede pasar como std::string o std::wstring para ser usado con el std::ostringstream y std::wostringstream instancias respectivamente. No es necesario para el NumericValue ser un valor numérico.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *