web-dev-qa-db-fra.com

Les fichiers Windows standard .ini autorisent-ils les commentaires?

Les commentaires sont-ils autorisés dans les fichiers Windows ini? (... en supposant que vous utilisiez les fonctions GetPrivateProfileString api pour les lire ...)

[Section]
Name=Value   ; comment

; full line comment

Et existe-t-il une spécification appropriée du format de fichier .INI?

Merci pour les réponses - Cependant, peut-être que je n'ai pas été assez clair. Je ne suis intéressé que par le format lu par les appels de l'API Windows . Je sais que d'autres implémentations autorisent les commentaires, mais il s'agit spécifiquement de la spécification MS Windows et mise en œuvre que je dois savoir.

74
Roddy

J'ai vu des commentaires dans des fichiers INI, alors oui. Veuillez vous reporter à cet article de Wikipedia . Je n'ai pas trouvé de spécification officielle, mais c'est la syntaxe correcte pour les commentaires. , autant de jeux INI fichiers avaient cela à ma connaissance.

Modifier

L'API renvoie la valeur et le commentaire (j'ai oublié de le mentionner dans ma réponse), il suffit de construire et exemple INI et appeler l'API à ce sujet (avec des commentaires) et vous pouvez voir comment cela se passe. revenu.

29
RoguePlanetoid

Windows INI Prise en charge de l’API pour:

  • Commentaires en ligne : oui, avec des points-virgules ;
  • Commentaires de fin: Non

La source faisant autorité est la fonction API Windows qui lit les valeurs dans les fichiers INI

GetPrivateProfileString

Récupère une chaîne de la section spécifiée dans un fichier d'initialisation.

La raison "commentaires de la ligne complète" travail est parce que la valeur demandée n'existe pas. Par exemple, lors de l'analyse du contenu du fichier ini suivant:

[Application]
UseLiveData=1
;coke=zero
pepsi=diet   ;gag
#stackoverflow=splotchy

Lire les valeurs:

  • UseLiveData: 1
  • coke: pas présent
  • ;coke: pas présent
  • pepsi: diet ;gag
  • stackoverflow: pas présent
  • #stackoverflow: splotchy

Mise à jour : J'avais l'habitude de penser que le signe dièse (#) était un caractère de pseudo ligne-commentaire. La raison en utilisant # mène à masquer stackoverflow parce que le nom stackoverflow n'existe plus. Et il se trouve que le point-virgule (; _ ) est une ligne-commentaire.

Mais il n'y a pas de support pour les commentaires de fin.

74
Ian Boyd

TILISEZ UN SEMICOLON AT DEBUT DE LA LIGNE --- >>; << ---

Hex.

; last modified 1 April 2001 by John Doe
[owner]
name=John Doe
organization=Acme Widgets Inc.
8

Oui. Jetez un œil à Wikipedia et mise en oeuvre de Cloanto de INI format de fichier (voir bas de la page).

1
Koekiebox