WriteData()

Syntaxe

Resultat = WriteData(#Fichier, *Memoire, Longueur)
Description
Ecrit le contenu d'une zone mémoire dans un fichier.

Arguments

#Fichier Le fichier à utiliser.
*Memoire L'adresse mémoire des données à écrire dans le fichier.
Longueur Le nombre d'octets à écrire dans le fichier. Attention la limite est de 2Go.

Valeur de retour

Renvoie le nombre d'octets qui ont été réellement écrits dans le fichier, ou zéro en cas d'erreur.

Remarques

En raison de la mise en mémoire tampon, cette fonction peut retourner une valeur avec succès même s'il n'y a pas assez d'espace disponible sur le périphérique de sortie pour l'opération d'écriture.

Exemple

  *MemoryID = AllocateMemory(1000) ; Alloue un bloc mémoire de 1000 octets
  If *MemoryID
    PokeS(*MemoryID, "Enregister ce texte dans le bloc mémoire", -1, #PB_Unicode) ; Ecriture d'une chaîne de caractères dans le bloc mémoire
  EndIf
  If CreateFile(0, GetHomeDirectory()+"Test.txt")   ; Création d'un nouveau fichier...
    WriteData(0, *MemoryID, SizeOf(Character)*Len("Enregister ce texte dans le bloc mémoire"))   ; On écrit le texte du bloc mémoire dans le fichier
    CloseFile(0)                 ; Ferme le fichier précédemment ouvert et enregistre les données  
  Else
    Debug "Impossible de créer le fichier!"
  EndIf
  
  If ReadFile(0, GetHomeDirectory()+"Test.txt")   ; Si le fichier peut être lu , on continue...
    While Eof(0) = 0           ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File') 
      Debug ReadString(0, #PB_Unicode)      ; Affiche du fichier
    Wend
    CloseFile(0)               ; Ferme le fichier précédemment ouvert
  Else
    MessageRequester("Information","Impossible d'ouvrir le fichier!")
  EndIf

Voir aussi

ReadData(), CreateFile(), OpenFile()

OS Supportés

Tous

<- WriteCharacter() - File Index - WriteDouble() ->