bonjour,
on a pu trouvé comment faire pour savoir si le fichier est un répertoire ou un fichier ordinaire (avec la fonction stat()) mais comment faire pour connaitre le type d'un fichier ?
Par exemple : .txt
merci
bonjour,
on a pu trouvé comment faire pour savoir si le fichier est un répertoire ou un fichier ordinaire (avec la fonction stat()) mais comment faire pour connaitre le type d'un fichier ?
Par exemple : .txt
merci
Commence par définir ce qu'est un fichier .txt et on pourra répondre...Envoyé par youp_db
Parce que je peux faire un renommage d'un film .avi en .txt et alors tu diras quoi? Que c'est un fichier texte?
En résumé, on ne peut rien dire sur le type du fichier de manière sûre... On peut utiliser des méthodes statistiques pour dire binaire ou texte mais ce n'est pas sûr...
Jc
Ca dépend sous quel système tu travailles.
Sous Windows, je connais la fonction GetBinaryType() qui te dit si un fichier est exécutable et le cas échéant de quel type d'exécutable il s'agit.
Sous Unix, tu peux te débrouiller avec la commande file qui te dis de quel type est une fichier.
Bonjour,
chaque fichier possède une entête propre, cad une premère ligne particulière.
Si tu ne veux pas ouvrir le fichier tu peux regarder l'extension, mais rien ne te dis que l'extension est la bonne. A moins que ce ne soit que des fichiers t'appartenant.
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Sous Windows, SHGetFileInfo peut aussi donner des informations sur un fichier, mais jamais son "vrai type" ainsi (quoi que, tu peux avoir le type affiché dans l'explorateur).
Sous nux, tu n'as pas d'explorateur de fichiers intégré, donc pas moyen de récupérer le type affiché. Tout ce que tu peux avoir sous nux sans ouvrir le fichier, c'est son extension, à supposer qu'il en ait une. Je ne sais même pas si tu peux dire d'un fichier exécutable que c'est un binaire ou un script, à moins d'ouvrir toi-même le fichier pour voir ses premiers octets.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Si! Il existe la commande fileEnvoyé par Médinoc
Un fichier n'a pas de type. C'est la façon de le manipuler et la connaissance que l'on a de sa structure qui en définit les caractéristiques. Les extensions aident à s'y retrouver, mais ça reste une convention, pas une obligation.Envoyé par youp_db
http://www.wotsit.org/
Derrière ta question, quelle est ta demande exacte ?
Et tout cela n'a rien à voir avec le langage C.
Envoyé par ToTo13
![]()
![]()
Pas les fichier textes.
Les entêtes des fichiers binaires ne sont pas toutes référencées, même si beaucoup sont connues : http://www.wotsit.org/
File est un utilitaire et non une commande système, et ça ouvre le fichier pour regarder les premiers octets.Envoyé par joellel
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Tu as tout à fait raison, manque de rigueur de ma partEnvoyé par Médinoc
![]()
Mais quand même, ça rend bien service![]()
Partager