Différence entre r+ et w+ dans fopen()
Dans fopen("myfile", "r+")
quelle est la différence entre le "r+"
et "w+"
mode d'ouverture? J'ai lu ceci:
"r"
Ouvrir un fichier texte en lecture."w"
Ouvrir un fichier texte pour l'écriture,
tronquer un fichier existant longueur zéro, ou de créer le fichier s'il n'existe pas.
"r+"
Ouvrir un fichier texte pour une mise à jour (qui est, pour la lecture et l'
de l'écriture)."w+"
Ouvrir un fichier texte pour une mise à jour (lecture et écriture),
première tronquant
le fichier de longueur nulle si elle existe, ou de créer le fichier s'il n'existe pas.
Je veux dire la différence, c'est que si j'ouvre le fichier avec "w+"
, le fichier sera effacé en premier?
- les 2 différences sont là: la troncation et la création.
- ... il va être "effacé" d'abord, ou créée si elle n'existe pas (alors que
r+
donnerait erreur dans ce cas.
Vous devez vous connecter pour publier un commentaire.
La principale différence est
w+
tronquer le fichier de longueur nulle si elle existe ou créer un nouveau fichier si il ne le fait pas. Alors quer+
supprime ni le contenu, ni créer un nouveau fichier si il n'existe pas.Essayer ces codes et vous comprendrez:
et puis ce
Puis ouvrez le fichier
test.txt
et voir ce qui se passe. Vous verrez que toutes les données écrites par le premier programme a été effacé.Répétez cette opération pour
r+
et voir le résultat. Espérons que vous comprendrez.cat
de commande.Les deux
r+
etw+
peut lire et écrire dans un fichier. Cependant,r+
ne pas supprimer le contenu du fichier et de ne pas créer un nouveau fichier si le fichier n'existe pas, alors quew+
supprime le contenu du fichier et le crée s'il n'existe pas.open(x, 'a').close(); open(x, 'r+')
Alors, oui, si le fichier existe déjà, w+ permet d'effacer le fichier et donnez-vous un fichier vide.
Il y a 2 différences, contrairement à
r+
,w+
sera:r+ Le fichier existant est ouvert pour le début de la lecture et de l'écriture.
w+ Même que w sauf à la fois pour la lecture et l'écriture.