Accueil > Forum > > > > SOS manque d'inspiration
SOS manque d'inspiration
jeudi 21 octobre 2004 à 16:59:41 |
SOS manque d'inspiration

graall
|
J'ai besoin de faire un petit programme (en mode console) qui demande à l'utilisateur de saisir le nom d'un fichier et ensuite, qui vérifie si ce fichier existe. Je ne vois pas du tout comment faire. J'ai essayé de m'aider de cette source : http://www.cppfrance.com/code.aspx?ID=9263 mais je n'arrive pas à manipuler les const char. Voici un exemple des essais que j'ai fais : #include <conio.c>
bool fileexists(char file[100]) { /* c'est ici que je ne sais pas quoi mettre */ }
int main() { printf("Tapez le nom d'un fichier.\n"); char fichier[100]; scanf("%s",&fichier); if (fileexists(fichier)) printf("\nLe fichier existe."); else printf("\nLe fichier n'existe pas."); getch(); }
|
merci d'avance
|
|
jeudi 21 octobre 2004 à 17:24:40 |
Re : SOS manque d'inspiration

asmanur
|
essaie FILE* f= fopen(fichier,"rb"); if(!f)return false; else return true;
|
|
jeudi 21 octobre 2004 à 18:54:35 |
Re : SOS manque d'inspiration

djl
|
asmanur > l'inexistance d'un fichier n'est pas le seul cas ou son ouverture est impossible (par ex si il est ouvert en mode exclusif par un autre processus)
faudra passer par un appel systeme, sous windows win32, de mainiere portable voir chez POSIX
|
|
jeudi 21 octobre 2004 à 20:43:05 |
Re : SOS manque d'inspiration

DeAtHCrAsH
|
Une maniere simple de procédé, consiste a prendre le chemin complet et a utiliser l'API FindFirstFile() puis regarder le résultat.
Shell
|
|
vendredi 22 octobre 2004 à 07:41:37 |
Re : SOS manque d'inspiration

asmanur
|
Ouep Je sais mais c quand même plus simpe que d'utiliser win surtout si on es encore sous dos
|
|
samedi 23 octobre 2004 à 15:47:54 |
Re : SOS manque d'inspiration

plus_plus_fab
|
FILE* f= fopen(fichier,"rb"); if(!f)return false; else return true;
Si le fichier n'existe pas, il est crée, donc ça ne teste pas s'il existait déjà. La seule manière de faire, c'est de s'adresser au systeme de fichier.
sur systemes UNIX (qui se conforme donc au standard POSIX), on peut faire qqchose comme ca : (en C, non testé)
#include <sys/stat.h> #include <sys/types.h> #include <stdio.h>
void main(int argc,char** argv) { struct stat stfile; if(stat( argv[1], &stfile) == -1) { fprintf(stderr,"acces refusé à %s", argv[1]) } if( (stfile.st_mode & S_IFMT) == S_IFREG) /* test pour un fichier régulier */ { printf("le fichier regulier %s existe",argv[1]); } }
je pense que errno doit etre positionné, on doit pouvoir afficher un diagnostic complementaire avec perror.
|
|
samedi 23 octobre 2004 à 15:48:18 |
Re : SOS manque d'inspiration

plus_plus_fab
|
FILE* f= fopen(fichier,"rb"); if(!f)return false; else return true;
Si le fichier n'existe pas, il est crée, donc ça ne teste pas s'il existait déjà. La seule manière de faire, c'est de s'adresser au systeme de fichier.
sur systemes UNIX (qui se conforme donc au standard POSIX), on peut faire qqchose comme ca : (en C, non testé)
#include <sys/stat.h> #include <sys/types.h> #include <stdio.h>
void main(int argc,char** argv) { struct stat stfile; if(stat( argv[1], &stfile) == -1) { fprintf(stderr,"acces refusé à %s", argv[1]) } if( (stfile.st_mode & S_IFMT) == S_IFREG) /* test pour un fichier régulier */ { printf("le fichier regulier %s existe",argv[1]); } }
je pense que errno doit etre positionné, on doit pouvoir afficher un diagnostic complementaire avec perror.
|
|
Cette discussion est classée dans : fichier, code, printf, existe, char
Répondre à ce message
Sujets en rapport avec ce message
Debutant : ecrire et lire un fichier txt [ par manu ]
Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl
Petit probleme de code en C sur Linux !! [ par UncleShu ]
Je voudrais créer un fichier dans le réperoire personnel d'un utilisateur mais mon code ne marche pas !!#include #include #include #define DIR $HOM
[debutant]attribution dun mot a une char et comparaison ... [ par DarkEbola ]
en fait, jaurais aimé attribuer du texte a une charkke chose comme 500 ou 600 caracteres maximais jarrive pas a lui attribuer plus de 1 Charsuis-je pl
Erreurs de compilations bizarres avec Visual C++ 6 [ par VTS_35 ]
Bonjour,G encore des problèmes de compilation avec mon programme. Je me suis rendu compte que le programme allait devenir balaise, alors j'ai décidé d
Je cherche l'erreur [ par ScorpionTiti ]
J'ai effectué un programme qui me permette d'écrire dans un fichier et je l'ai compilé. En le lançant, il m'envoie un message d'erreur mais je ne sais
CRYPTAGE !!! [ par megaman ]
Voilà j'essai de faire un log de cryptage à l'aide de fonctions et procédure.Les fonctions et procédures :Une fonction qui retourne le nom de fichieru
probleme de if [ par cobra176 ]
bonjour tout le monde j'ai un code qui me permet d'afficher les lignes dans un fichier contenat les mots que j'ai choisit et si il n'y a pas le mot re
Problème de lecture fichier [ par nach73 ]
J'ai un enorme probleme je n'arrive pas a lire dans mon fichierVoila la partie de mon programme.Si quelqu'un peux m'aide.Merci.//ouverture du fichier
Aide pour enregistrement fichier en C [ par petit_mateo ]
Voici mon code :#include #include #include int x(){ char ANCIEN[] = "resta.txt"; char NOUVEAU[] = "restb.txt"; FILE *INFILE, *OUTFILE;<
Copier/coller de données contenue dans un fichier en C [ par petit_mateo ]
Voici mon code :#include #include #include int x(){ char ANCIEN[] = "resta.txt"; char NOUVEAU[] = "restb.txt"; FILE *INFILE, *OUTFILE;<
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|