Comment ouvrir un fichier écraser le contenu existant

J'essaie d'ouvrir un fichier comme ceci dans linux. Il remplacera un existant si les sorties. C'est ce que je veux.

fout = open(out_file_name, O_WRONLY | O_CREAT, 644);

Cependant, si l'existant est de 1024 octets, quand j'ai ouvert dans la façon décrite ci-dessus et d'écriture de 800 nouveaux octets.
Je vois encore l'224 octets à la fin du précédent contenu.

Comment puis-je faire il suffit de 800 octets que j'ai écrit?

Vous êtes à la recherche pour le O_TRUNC drapeau à open().
Vous ne voulez probablement pas le mode 644. Peut-être que vous ne voulez mode 0644. Mais voir le Ciro's commentaire à propos de la symbolique des noms de S_xxUSR et ainsi de suite ci-dessous.

OriginalL'auteur n179911 | 2014-04-15