Problème avec fopen() en C sous Windows 8
Fermé
Lumpy-Rock
Messages postés
68
Date d'inscription
jeudi 6 mai 2010
Statut
Membre
Dernière intervention
19 juillet 2014
-
29 juin 2012 à 12:09
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 29 juin 2012 à 18:19
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 29 juin 2012 à 18:19
A voir également:
- Problème avec fopen() en C sous Windows 8
- Clé windows 8 - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
- Windows 10 gratuit - Accueil - Mise à jour
- Windows movie maker windows 11 - Télécharger - Montage & Édition
4 réponses
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 29/06/2012 à 12:21
Modifié par [Dal] le 29/06/2012 à 12:21
Salut,
Ton code nous aiderait. Poste le passage concerné avec les balises "code".
Le plus probable est que tu essayes d'accéder à une ressource qui n'existe pas ou pour laquelle ton programme n'a pas de droits d'accès.
Sinon, pour obtenir des infos sur l'erreur, mets #include <errno.h>
puis en supposant que ton descripteur de fichier soit "pFD" mets ceci après ton fopen:
Dal
Ton code nous aiderait. Poste le passage concerné avec les balises "code".
Le plus probable est que tu essayes d'accéder à une ressource qui n'existe pas ou pour laquelle ton programme n'a pas de droits d'accès.
Sinon, pour obtenir des infos sur l'erreur, mets #include <errno.h>
puis en supposant que ton descripteur de fichier soit "pFD" mets ceci après ton fopen:
if (pFD == NULL) { perror ("L'erreur suivante est survenue"); printf( "Valeur de errno: %d\n", errno ); }
Dal
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 29/06/2012 à 12:56
Modifié par [Dal] le 29/06/2012 à 12:56
Re tu pourrais creuser ceci :
(sous toutes réserves car je n'ai jamais eu de Windows 8 sous la main et je découvre)
Je pense que tu trouveras ces pages intéressantes :
https://docs.microsoft.com/en-us/previous-versions/windows/apps/hh700360(v=win.10)?redirectedfrom=MSDN
et cet article intéressant : https://docs.microsoft.com/en-us/previous-versions/windows/hh465045(v=win.10)?redirectedfrom=MSDN
You're still coding in C++, and you can access the STL, the CRT, and any other C++ libraries, except that you can't invoke certain functions directly, such as those related to file I/O.
Puis plus bas :
A Metro style app runs in a security container that has limited access to the file system, network resources, and hardware. When a user installs an app from the Windows Store, Windows looks at the metadata in the Package.appxmanifest file to determine what capabilities the app requires. For example, an app might have to access data from the Internet, documents from the user's Document Library, or the user's webcam and microphone. When the app is installed, it displays to the user the capabilities it needs, and the user must grant permission before it can access those resources. If the app doesn't request and receive permission for a resource it needs, it won't be allowed access to that resource at run time.
Les application s'exécutent dans un bac à sable sous Windows 8 semble-t-il.
Les tutoriaux disponibles sur msdn parlent de Visual Studio 2012.
Désolé, je ne peux pas te renseigner plus :-)
Dal
(sous toutes réserves car je n'ai jamais eu de Windows 8 sous la main et je découvre)
Je pense que tu trouveras ces pages intéressantes :
https://docs.microsoft.com/en-us/previous-versions/windows/apps/hh700360(v=win.10)?redirectedfrom=MSDN
et cet article intéressant : https://docs.microsoft.com/en-us/previous-versions/windows/hh465045(v=win.10)?redirectedfrom=MSDN
You're still coding in C++, and you can access the STL, the CRT, and any other C++ libraries, except that you can't invoke certain functions directly, such as those related to file I/O.
Puis plus bas :
A Metro style app runs in a security container that has limited access to the file system, network resources, and hardware. When a user installs an app from the Windows Store, Windows looks at the metadata in the Package.appxmanifest file to determine what capabilities the app requires. For example, an app might have to access data from the Internet, documents from the user's Document Library, or the user's webcam and microphone. When the app is installed, it displays to the user the capabilities it needs, and the user must grant permission before it can access those resources. If the app doesn't request and receive permission for a resource it needs, it won't be allowed access to that resource at run time.
Les application s'exécutent dans un bac à sable sous Windows 8 semble-t-il.
Les tutoriaux disponibles sur msdn parlent de Visual Studio 2012.
Désolé, je ne peux pas te renseigner plus :-)
Dal
Lumpy-Rock
Messages postés
68
Date d'inscription
jeudi 6 mai 2010
Statut
Membre
Dernière intervention
19 juillet 2014
1
29 juin 2012 à 13:48
29 juin 2012 à 13:48
Bon alors voilà mon code :
J'obtiens la valeur Errno = 2, soit "No such file or directory". Mais c'est vraiment bizarre, le fichier est bien là, j'ai essayé de la changer de nom, d'emplacement, rien y fait ... Je suis dans un sous dossier de "Documents", je peux pas ne pas y avoir accès si ? Et j'ai essayé de le démarrer en Administrateur ça donne la même chose.
Merci beaucoup, je vais aller voir ces articles .. Mais l'extrait que tu cite parle de l'interface Metro (la toute nouvelle, semblable à celle de Windows phone). En fait Windows 8 est divisé en deux interfaces, parcequ'on peut à tout moment repasser sur une interface bureau classique, et c'est la dessus que je travaille ...
#include <stdio.h> #include <stdlib.h> #include <errno.h> int main() { errno = 0; FILE *fichier = fopen("bonjour.txt", "r"); if (fichier == NULL) { printf("Erreur : %d\n", errno); } else { printf("Fichier ouvert !\n"); } fclose(fichier); return EXIT_SUCCESS; }
J'obtiens la valeur Errno = 2, soit "No such file or directory". Mais c'est vraiment bizarre, le fichier est bien là, j'ai essayé de la changer de nom, d'emplacement, rien y fait ... Je suis dans un sous dossier de "Documents", je peux pas ne pas y avoir accès si ? Et j'ai essayé de le démarrer en Administrateur ça donne la même chose.
Merci beaucoup, je vais aller voir ces articles .. Mais l'extrait que tu cite parle de l'interface Metro (la toute nouvelle, semblable à celle de Windows phone). En fait Windows 8 est divisé en deux interfaces, parcequ'on peut à tout moment repasser sur une interface bureau classique, et c'est la dessus que je travaille ...
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 29/06/2012 à 18:23
Modifié par [Dal] le 29/06/2012 à 18:23
Je pense que tu dois utiliser la nouvelle API WinRT, compte tenu du nouveau modèle de sécurité de Windows 8, et composer avec les contraintes de ton "bac à sable" en y mettant les fichiers utilisés par ton application.
http://www.srtsolutions.com/winrt-file-access
http://lunarfrog.com/blog/categories/file-system
C'est juste le fruit de mes recherches (comme indiqué, je n'ai jamais eu de Windows 8 sous la main et je découvre... et ... cela ne donne pas envie :-(.
Dal
http://www.srtsolutions.com/winrt-file-access
http://lunarfrog.com/blog/categories/file-system
C'est juste le fruit de mes recherches (comme indiqué, je n'ai jamais eu de Windows 8 sous la main et je découvre... et ... cela ne donne pas envie :-(.
Dal