usar resueltos leer imprimir funciones ejercicios ejemplos como caracteres cadenas cadena arreglo c++ stl parameters stringstream ofstream

c++ - resueltos - Escribir contenidos de cadenas de caracteres en ofstream



imprimir cadena de caracteres en c (3)

Puede hacer esto, que no necesita crear la cadena. Hace que la secuencia de salida lea los contenidos de la secuencia en el lado derecho (utilizable con cualquier transmisión).

outFile << ss.rdbuf();

Actualmente estoy usando std::ofstream siguiente manera:

std::ofstream outFile; outFile.open(output_file);

Luego intento pasar un objeto std::stringstream a outFile siguiente manera:

GetHolesResults(..., std::ofstream &outFile){ float x = 1234; std::stringstream ss; ss << x << std::endl; outFile << ss; }

Ahora mi outFile no contiene nada más que basura: "0012E708" repitió todo.

En GetHolesResults puedo escribir

outFile << "Foo" << std:endl;

y saldrá correctamente en outFile .

¿Alguna sugerencia sobre lo que estoy haciendo mal?


Al pasar una cadena de caracteres rdbuf a una secuencia, las líneas nuevas no se traducen. El texto de entrada puede contener /n por lo que encontrar reemplazar no funcionará. El código anterior escribió en un flujo de datos y al cambiarlo a un flujo de cadena pierde la traducción endl.


Si está usando std::ostringstream y se pregunta por qué no se escribe nada con ss.rdbuf() entonces use la función .str() .

outFile << oStream.str();