Escritura con formato en archivo en WINAPI - c ++, c, visual-studio-2010, winapi, io

Con WriteFile comando, estoy tratando de escribir en el archivo en el diseño que deseo. El problema es que tengo que escribir en el archivo usando una cadena o un búfer.

Tengo que imprimir en el formato:

a1   a2   a3   a4   a5
b1   b2   b3   b4   b5
.
.
.

y estos son tipos dobles. El principal problema que estoy teniendo es la concatenación de cadenas y números. Si eso es posible, simplemente podría hacerlo (si dijimos + es el operador, podríamos :)

a1^"   "^a2^"   "^   "^a4"n".

y loop pero no tengo esa opción.

Agradezco cualquier ayuda.

Respuestas

1 para la respuesta № 1

Una opción es usar std::ostringstream (o std::wostringstream para caracteres anchos) para formatear los datos en una cadena y luego escribirlos en el archivo.

std::ostringstream strm;
double a = 1.1;
double b = 2.2;
strm << "hello " << a << " world " << b;

DWORD written;
WriteFile(handle, strm.str().c_str(), strm.str().size(), &written, NULL);

2 para la respuesta № 2

Preformatear los datos en un búfer. Si realmente solo puede usar el WinAPI, puede hacerlo con wsprintf. Luego, cuando tenga un búfer lleno de datos formateados correctamente, escriba todo en el disco de una vez con WriteFile. Por sí mismo, sin embargo, WriteFile no tiene ninguna capacidad de formato o conversión.


preguntas relacionadas
Menú