fopen_s

De RAD Studio
Aller à : navigation, rechercher

Remonter à stdio.h - Index


Fichier en-tête

stdio.h

Catégorie

Fonctions d'accès aux fichiers

Prototype

errno_t fopen_s(FILE * restrict * restrict streamptr, const char * restrict filename, const char * restrict mode);

Description

Ouvre un flux.

fopen_s ouvre le fichier nommé par filename et lui associe un flux. fopen renvoie un pointeur utilisé pour identifier le flux dans les opérations ultérieures.

La chaîne mode utilisée dans les appels à fopen peut prendre une des valeurs suivantes :

Valeur Description

uw

Tronquer le fichier sur la longueur zéro ou créer un fichier texte pour écriture avec les permissions par défaut.

ua

Ajouter, ouvrir ou créer un fichier texte pour écriture en fin de fichier avec les permissions par défaut.

uwb

Tronquer le fichier sur la longueur zéro ou créer un fichier binaire pour écriture avec les permissions par défaut.

uab

Ajouter, ouvrir ou créer un fichier binaire pour écriture en fin de fichier avec les permissions par défaut.

uw+

Tronquer le fichier sur la longueur zéro ou créer un fichier texte pour mise à jour avec la permission par défaut.

ua+

Ajouter, ouvrir ou créer un fichier texte pour mise à jour, écriture en fin de fichier avec les permissions par défaut.

uw+b ou uwb+

Tronquer le fichier sur la longueur zéro ou créer un fichier binaire pour mise à jour avec les permissions par défaut.

ua+b ou uab+

Ajouter, ouvrir ou créer un fichier binaire pour mise à jour, écriture en fin de fichier avec les permissions par défaut.

Si le système d'exploitation le supporte, les fichiers ouverts en écriture seront ouverts en accès non partagé afin d'éviter des écritures simultanées dans les fichiers. D'autre part, si le système d'exploitation le supporte, les fichiers dont la chaîne mode ne commence pas par u auront pour propriétaire l'utilisateur à partir duquel le programme est exécuté, et seront indisponibles aux autres utilisateurs. Si la chaîne mode commence par u, les fichiers auront alors les permissions d'accès par défaut.

Si le fichier a été ouvert avec succès, la valeur pointant sur le fichier est définie sur le paramètre streamptr, sinon streamptr est défini sur null.

Valeur renvoyée

Si la fonction fopen_s a réussi, la valeur zéro est renvoyée. Sinon, une valeur différente de zéro est renvoyée.

Exemple

/* Program to create backup of a file */

#include <stdio.h>

int main(void)
{
  FILE *in, *out;
  in = new FILE;
  if (fopen_s(&in, "TESTFILE.DAT", "rt")){
    fprintf(stderr, "Cannot open input file.\n");
    return 1;
  }
  if (fopen_s(&out, "TESTFILE.BAK", "wt")){
    fprintf(stderr, "Cannot open output file.\n");
    return 1;
  }
  while (!feof(in)){
    fputc(fgetc(in), out);
  }
  fclose(in);
  fclose(out);
  return 0;
}

Portabilité

POSIX Win32 ANSI C ANSI C++

fopen_s

+

+

+

+

Voir aussi