J'écris une procédure d'E / S de nom de fichier dans le langage d'assemblage x86-16. Il prend huit caractères (je n'ai pas besoin de prendre en charge les noms de fichiers longs) du clavier et les imprime dans un champ de saisie de texte à l'écran.
Pour le moment, j'autorise les chiffres, les lettres majuscules / minuscules, les traits de soulignement et les tirets.
Je voudrais autoriser tous les symboles légaux, mais je ne trouve pas de liste officielle des personnages interdits. Le bon sens me dit que les barres obliques sont illégales, mais si je devais deviner, je dirais que le caractère plus est légal. (modifier: Ce n'est pas!)
J'ignore déjà le caractère de période, car mon code gère automatiquement l'ajout de la période et de l'extension de fichier.
+,;[]
, l'espace et a-z
sont autorisés sous Windows mais pas sous DOS. L'Explorateur me donne l'erreur "Un nom de fichier ne peut contenir aucun des caractères suivants \ / : * ? " < > |
qui n'est qu'un sous-ensemble des caractères interdits dans DOS