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
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.
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
Vous devez vous connecter pour publier un commentaire.
Vous souhaitez utiliser le
O_TRUNC
drapeau àopen()
, par OU-ing à l'existant des indicateurs que vous avez ci-dessus:Cela va tronquer le fichier. Ci-dessous les informations dans la page de man pour open(2).
S_IRUSR | S_IWUSR
, etc. deman 2 chmod
au lieu de644
😉OriginalL'auteur