WriteStringFormat()

Syntaxe

Resultat = WriteStringFormat(#Fichier, Format)
Description
Ecrit un BOM (Byte Order Mark) à la position courante.

Arguments

#Fichier Le fichier à utiliser.
Format
  #PB_Ascii  : N'écrit aucun BOM (fichier texte standard).
  #PB_UTF8   : UTF-8 avec un BOM.
  #PB_Unicode: UTF-16 (little endian) avec un BOM.
  #PB_UTF16BE: UTF-16 (big endian) avec un BOM.
  #PB_UTF32  : UTF-32 (little endian) avec un BOM.
  #PB_UTF32BE: UTF-32 (big endian) avec un BOM.
Les constantes #PB_Ascii, #PB_UTF8 et #PB_Unicode correspondent aux options supportées par WriteString() et WriteStringN(). Après avoir placé un BOM, toutes les opérations d'écriture devraient utiliser ce format.

Valeur de retour

Renvoie une valeur non nulle si l'opération a réussi et zéro si elle a échoué.

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.

Le fichier doit être ouvert en utilisant une fonction d'écriture compatible (c'est à dire pas avec ReadFile()).

Le BOM (Byte Order Mark) est un moyen couramment utilisé pour indiquer le type d'encodage d'un fichier texte. Il est habituellement placé au début du fichier. Néanmoins, ce n'est pas un standard ni une norme, mais une pratique courante. Ainsi, si aucun BOM n'est détecté au début du fichier, cela ne veut pas forcément dire qu'il s'agit d'un fichier ASCII. ReadStringFormat() peut être utilisé pour detecter le BOM d'un fichier.

Pour plus d'informations, consulter cet article Wikipedia.
Vous trouverez plus d'informations sur le mode unicode avec PureBasic ici.

Exemple

  If CreateFile(0, "Test.txt")         ; Création d'un nouveau fichier texte...
    WriteStringFormat(0, #PB_Unicode)  ; Fichier au format unicode
      WriteStringN(0, "Ligne hé hé à ù Ê Ï")  ; Ecriture de quelques signes (suivis du code 'Fin de Ligne')
    CloseFile(0)                       ; Ferme le fichier précédemment ouvert et enregistre les données
  Else
    MessageRequester("Information","Impossible de créer le fichier!")
  EndIf
    If ReadFile(0, "Test.txt") 
      Format=ReadStringFormat(0) 
     While Eof(0) = 0           ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File') 
      Debug ReadString(0)       ; Affiche ligne par ligne le contenu du fichier
    Wend
      CloseFile(0)
      Select Format
        Case #PB_Ascii  
           Debug "Aucun BOM détecté. Généralement un fichier texte standard"
        Case #PB_UTF8   
           Debug "UTF-8 et BOM détecté."
        Case #PB_Unicode
           Debug "UTF-16 (little endian) et BOM détecté."
        Case #PB_UTF16BE
          Debug "UTF-16 (big endian) et BOM détecté."
        Case #PB_UTF32  
           Debug "UTF-32 (little endian) et BOM détecté."
        Case #PB_UTF32BE
           Debug "UTF-32 (big endian) et BOM détecté."
        Default
          Debug "Format inconnu"
       EndSelect
     EndIf

Voir aussi

ReadStringFormat(), WriteString(), WriteStringN(), CreateFile(), OpenFile()

OS Supportés

Tous

<- WriteString() - File Index - WriteStringN() ->