Формовано Написати в файл у WINAPI - c ++, c, візуальна студія-2010, winapi, io

З WriteFile команда, я намагаюся написати в файл у дизайні, який я хочу. Проблема полягає в тому, що я повинен написати файл, використовуючи рядок або буфер.

Я повинен друкувати у форматі:

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

і це подвійні типи. Основна проблема, яку я маю, це об'єднання рядків і чисел. Якщо це можливо, я міг просто зробити це (якщо оператор скажемо +, ми могли б :)

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

і петлі, але я не маю такого вибору.

Я ціную будь-яку допомогу.

Відповіді:

1 для відповіді № 1

Одним із варіантів є використання std::ostringstream (або std::wostringstream для широких символів), щоб відформатувати дані у рядку, а потім записати його у файл.

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 для відповіді № 2

Переформатувати дані в буфер. Якщо ви дійсно можете використовувати WinAPI, ви можете це зробити з wsprintf. Потім, коли у вас є буфер із належним чином відформатованим даними, напишіть все це на диск одночасно з WriteFile. Однак сам по собі WriteFile не має будь-яких можливостей форматування чи перетворення.


Схожі запитання
Найбільш популярний