4/5 (22 avis)
Snippet vu 17 511 fois - Téléchargée 39 fois
#define WIN32_LEAN_AND_MEAN #include <windows.h> #include <stdio.h> // // pour une version unicode // changez simplement « char » par « wchar_t » // et « GetFileAttributesA() » par « GetFileAttributesW() » // // vous pouvez aussi le faire à la Windows, deux fonctions // int fileExistsA(const char* ...) // int fileExistsW(const wchar_t* ...) // et puis définir une macro fileExists sur fileExistsA ou fileExistsW // en testant la macro UNICODE(si elle est définie alors W sinon A) // // ou encore y aller avec les TCHAR // vous avez le choix ... // int fileExists(const char* fileName) { return (0 <= (INT_PTR)GetFileAttributesA(fileName)); } int main() { printf("`c:\\autoexec.bat` existe?: %s\n", fileExists("c:\\autoexec.bat") ? "oui" : "non"); return 0; }
4 janv. 2007 à 15:02
on a déjà répondu à la question ici en détaillant différentes méthodes, leurs avantages & inconvénients.
Bonne prog à tous
et que vos voeux se réalisent pr cette nouvelle année.
Magicalement
Nono.
2 janv. 2007 à 03:16
11 nov. 2006 à 02:03
11 nov. 2006 à 01:58
évite les constantes ce qui permet portabilité vers x64.
11 nov. 2006 à 01:50
*** hors sujet ***
pour ton histoire de portabilité, c'est évident que d'utiliser des librairies déjà développés/testés/etc. ca aide beaucoup mais ca n'empêche pas qu'on puisse quand même ajouter du code spécifique à un OS quelconque, regardes les softs(portables) open source, il y en a beaucoup qui le font, ils ne se basent pas toujours sur des librairies telles que qt/gtk/wx/etc. pour développer leurs softs(fonctionnalités spécifiques, ...), ils ont aussi des parties spécifiques à des OS X, Y et Z ... alors oui, les librairies du genre à qt/gtk/wx/etc. sont utiles mais elles ne contiennent pas toujours tout ce qu'il faut pour développer nos applications(et là je parle pas d'une simple calculatrice hein ...), surtout quand on veut quelque chose de performant, ce genre de librairie n'est pas souvent adapté pour ca ...
c'est un peu comme les distro. linux, les builds x86 qui ne sont pas optimisés pour chaque PC(intel et compatible) mais c'est plutôt un build générique, les librairies telles que qt/... c'est pas mal la même chose ...
en passant, la portabilité d'un OS à un autre n'est pas une « obligation », loin de là, pour un développeur qui développe uniquement sous Windows(comme moi) par exemple, ca lui servirait à quoi? moi personnellement j'en vois pas l'interet et j'en ai pas besoin même si, oui oui, j'ai Linux sur deux de mes postes ...
*** hors sujet ***
il faudrait aussi penser à regarder le titre de l'exemple ... à moins d'avis contraires, j'ai bien mis « WIN » dans le titre, non? et on voit aussi « #include <windows.h> dans le code je crois, mais je suis pas certain, faudrait vérifier :-/
j'ai aussi mis « Linux » ou « Portable » ou autre dans le titre/code/... ??? quelqu'un pourrait confirmer s'il vous plait?
_
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.