Formaté Écrire dans un fichier WINAPI - c ++, visual-studio-2010, winapi, io

Avec WriteFile J'essaie d'écrire dans le dessin que je souhaite. Le problème est que je dois écrire dans un fichier en utilisant une chaîne ou un tampon.

Je dois imprimer dans le format:

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

et ce sont des types doubles. Le problème majeur que je rencontre est la concaténation de chaînes et de nombres. Si c’est possible, je pourrais simplement le faire (si on dit que + est l’opérateur, on pourrait :)

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

et boucle mais je n'ai pas cette option.

J'apprécie toute aide.

Réponses:

1 pour la réponse № 1

Une option est d'utiliser std::ostringstream (ou std::wostringstream pour les caractères larges) pour formater les données en une chaîne, puis écrivez-les dans le fichier.

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 pour la réponse № 2

Pré-formater les données dans un tampon. Si vous ne pouvez vraiment utiliser que WinAPI, vous pouvez le faire avec wsprintf. Ensuite, quand vous avez un tampon plein de données formatées correctement, écrivez le tout sur le disque en une fois WriteFile. En soi, cependant, WriteFile n’a aucune capacité de formatage ou de conversion.


questions connexes
Menu