begin process at 2012 05 28 19:40:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Debutant : test NULL en C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Debutant : test NULL en C++

mercredi 9 février 2005 à 13:07:29 | Debutant : test NULL en C++

Spacekiller

Membre Club

Bonjour, voila je suis debutant et j'ai quelques problemes avec les fichiers.
Lorsque je veux tester si un fichier n'existe ou pas j'ai toujour une erreur fatale qui s'affiche. C'est tout simple mais je n'arrive pas a la faire marcher
Voici le code :
#include <iostream.h>
#include <stdio.h>


void main()
{
 const char ret='\n';
 FILE * fichier;  
 char *nomf; 

 cout<<"Entrer le nom du fichier : ";
 cin>>nomf;
 fichier=fopen (nomf,"r");
 if (fichier==NULL) {
  cout<<"Erreur";
 }
}



Merci d'avance :)

mercredi 9 février 2005 à 13:37:29 | Re : Debutant : test NULL en C++

Hylvenir

Salut,
plusieurs points,
1. Tu mélanges du C et du C++, pk ?
2. Tu utilises un include 'déprécié'  du C++ (certains diront qui n'a jamais été dans le C++)
3. Tu lis avec cin dans un char*  au lieu dans char nomf[32]; par exemple (c'est de là d'où vient ton bug)
4. main doit être int main() pas void.
5. change de compilo. y'en a des gratuits beaucoup mieux. ( VC, GCC, ... pour les plus connus).

[code]
// Une autre version - non testée, j'suis en pleine digestion donc pas la courage
#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main()
{
    cout<<"Entrer le nom du fichier :\n ";
   string nomf;
   cin>>nomf;   // utilisation d'une std::stirng pour éviter les buffer overflow
   ifstream file( nomf.c_str() );   // Ouverture d'une fichier en lecture
   if ( !file )
    cout << "erreur\n";   // Le fichier n'existe pas, ou pas les droits en lecture
}

// Ma participation à la saturation du net:
// http://hylvenir.free.fr
mercredi 9 février 2005 à 14:13:36 | Re : Debutant : test NULL en C++

Arnotic

Administrateur CodeS-SourceS
if(GetFileAttributes(szfile) & 0x80000000) ABSENT

sera mieux. car si le fichier est déjà ouvert en exclusif ton prog dira qu'il n'existe pas...

@+
Arnotic,
Admin CS, MVP Visual C++
mercredi 9 février 2005 à 15:26:48 | Re : Debutant : test NULL en C++

Spacekiller

Membre Club

En fait si tu avais un code uniquement C++ jte serai tres reconnaissant, paske la jdois rendre un truc sur les fichiers et on a presque pas touché au code C.
Et pourquoi faut-il utiliser int main() au lieu de void?

mercredi 9 février 2005 à 15:31:39 | Re : Debutant : test NULL en C++

Spacekiller

Membre Club
oops excuse jai cru que le  ifstream file( nomf.c_str() ); ifstream file( nomf.c_str() );  était du C . Enfin torai pas une version avec fopen plutot?
mercredi 9 février 2005 à 18:16:25 | Re : Debutant : test NULL en C++

Matt67

Réponse acceptée !
Bonsoir

Copier / Coller d'un bout de code que j'ai posté dans une question
http://www.cppfrance.com/forum.v2.aspx?ID=387301

#include <stdio.h>

int FileExist(char * lpChemin)
{
  FILE *fp;
  fp = fopen(lpChemin, "r");
  if(fp == NULL)
    return 0;
  fclose(fp);
  return 1;


int main(void)
{
  if(FileExist("c:\\toto.txt"))
    printf("Le fichier existe\n");
  else
    printf("Le fichier n'existe pas ou vous ne pouvez pas y acceder\n");
 
  return 0;


mais comme l'a dit Arnotic ca ne veut pas dire que le fichier n'existe pas. En C il n'y a pas de fonction (à ma connaissance) qui te dit qu'un fichier n'existe ou pas.

Matt...
mercredi 9 février 2005 à 18:54:34 | Re : Debutant : test NULL en C++

Hylvenir

stat  devrait être cool.


// Ma participation à la saturation du net:
//http://hylvenir.free.fr
jeudi 10 février 2005 à 07:36:30 | Re : Debutant : test NULL en C++

Spacekiller

Membre Club
Merci pour toutes ces reponse :)


Cette discussion est classée dans : fichier, test, include, debutant, nomf


Répondre à ce message

Sujets en rapport avec ce message

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 Tableau de correspondance des fonctions c++ et de leur fichier #include [ par guguy ] BonjourJ'aimerais savoir s'il serait possible de trouver un tableau de correspondance entre les fonctions c++ et leur fichier #include (ex : cout -> i probleme d'include [ par titus0m ] bonjour,je develop sous kdev sous linux.mon probleme est un conflit entre deux include qui possede une fonction qui se nomme pareil. C'est la fonction recherche et comparaison dans fichier [ par rissorg ] J'ai un probleme de recherche et de comparaison entre une string rentree au clavier et des donnees sur un fichier texte.Voici mon source:#include #inc Aide fichier :) [ par asnow ] Salut a tous :)Voila mon tit code pour ouvrir un fichiervoid Ouverture () {char nomf[20]; printf("Entrez le nom du fichier :"); scanf("%s", nomf Pb de copie de fichier/taille de structure [ par wannie ] Salut tt le monde. Quelqu'un pourrai tester mon prog est me dire si ça fonctionne. Moi je comprend pas j'ai une copie d'un caractère dans chaque ligne #include circulaires [ par abubu38 ] Salut, J'ai un gros probleme de compilation au niveau des .h :fichier f1.h : #include f2.h class A { // définition nécéssitant la classe fread [ par sebleboss2002 ] Salut tout le monde !J'ai fait un ptit bout de code pour lire un fichier .txt avec fread, mais, alors que le fichier ne contient que le mot "prout", l Rennomer un fichier [ par cppdupdup34 ] ben voila la question c'est comment Rennomer un fichiersi vous pouviez m'indiquer l'include, la fonction et un tutorial sur les autres fonctions de l' Fuite memoire + Debug [ par Manson ] Bonjour a tous.Voila j'ai un gros probleme, voila un bout de code qui me met la tete a l'envers, et j'aimerai que l'on m'explique ce qui se passe :#pr


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales