Écrire ensemble des entiers à std::ofstream et être capable de les lire

J'ai besoin d'ecrire un tas d'entiers non signés de std::ofstream en mode binaire:

std::ofstream f;
f.open("some path", std::ios::out | std::ios::binary);
//some loop
{
  unsigned int k = get_k(); //may product numbers from 0 to 65535
  f << k;
}
f.close();

Ils sont écrits dans le fichier de sortie "comme est" w/o un délimiteur. Alors, quand je suis en train de lire (l'espoir d'obtenir ce que j'ai écrit) à l'aide de std::ifstream je reçois très étrange valeurs. Ce que je fais mal?

Ou je doit mettre ' ' (espace) pour le flux après tout ajout du nombre de les séparer?

Grâce.

Pensez-vous que ios::binary feront de votre sortie de flux des entiers en binaire, au lieu de l'ASCII? (J'ai l'habitude d'avoir cette idée fausse de moi-même.)

OriginalL'auteur bndu | 2010-03-19