Déterminer le système d'exploitation sur lequel un fichier texte a été créé

Présentation
Voici un code qui permet de déterminer sur quel système d'exploitation un fichier texte a été crée

La fonction prend en entrée, soit un nom de fichier (avec le chemin complet), soit un identifiant valide comme celui renvoyé par la fonction FOPEN.

En sortie, la fonction retourne une chaine de caractère spécifiant le système d'exploitation parmi la liste suivante :
  • 'win' => Windows
  • 'unix' => Unix/Linux ou Mac OS X (et +)
  • 'mac' => Mac jusqu'à la version 9



Elle peut également retourner, en second argument de sortie, le nombre de caractères représentant la fin d'une ligne.

Si le fichier est vide ou ne contient qu'une seule ligne, la fonction renvoie une chaine de caractères vide pour le système d'exploitation et 0 pour le nombre de caractères représentant la fin d'une ligne.
Téléchargement
Compatibilité
Linux Mac Windows
0  0 
Téléchargé 7 fois Voir les 2 commentaires
Détails
Avatar de Jérôme Briot
Rédacteur / Modérateur
Voir tous les téléchargements de l'auteur
Licence : BSD
Date de mise en ligne : 4 juin 2014




Avatar de magelan magelan - Modérateur https://www.developpez.com
le 07/09/2011 à 10:39


J'ai testé sur un mac et ça me renvoie 'unix', ce qui est logique puisque osx est basé sur un système unix. Es-tu sûr que certains mac utilisent CR comme caractère de nouvelle ligne? D'après wikipedia, osx utilise LF comme les autres systèmes UNIX.
Avatar de Jerome Briot Jerome Briot - Rédacteur/Modérateur https://www.developpez.com
le 07/09/2011 à 10:57
Citation Envoyé par magelan Voir le message
J'ai testé sur un mac et ça me renvoie 'unix', ce qui est logique puisque osx est basé sur un système unix.
Je sais mais j'ai appris à me méfier de ce qui est logique en informatique.

De toute façon, le but du code est d'identifier le type de fichier.

Donc même si Mac OS X commence à dater, il est normale que le code retourne 'mac' pour des (très) vieux fichiers.

Je modifie l'entête du fichier


 
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.