IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Debutant : Pb ecriture fichier


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut Debutant : Pb ecriture fichier
    Bonjour,

    Chercher l'erreur....

    ....
    HANDLE IdFic;
    LPDWORD MaVar;
    IdFic = CreateFile(CheminFic, GENERIC_READ | GENERIC_WRITE, 0,NULL,OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
    WriteFile(IdFic,"Ma chaine",16,MaVar,NULL);

    CloseHandle(IdFic);

    A l'execution de ce prog , Windows met une erreur... ce prog a rencontre une erreur , veuillez .....
    Mais ou est l'erreur ????

    Merci

  2. #2
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Vérifies si le fichier est bien ouvert avant d'écrire quelque chose dedans !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    HANDLE IdFic;
    LPDWORD MaVar;
    IdFic = CreateFile(CheminFic, GENERIC_READ | GENERIC_WRITE, 0,NULL,OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); 
     
    if (IdFic != INVALID_HANDLE_VALUE)
    {
         WriteFile(IdFic,"Ma chaine",16,MaVar,NULL); 
         CloseHandle(IdFic);
    }
    else
    {
        cout << "Erreur de création du fichier !" << endl;
        exit 0;
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    Effectivement , je vais faire la modif.
    Cependant , si j'édite le fic creer , il existe est ma chaine est présente.

    Manque t-il EOT a la fin ?
    Faut il attendre la fin d'écriture ?

    Merci

  4. #4
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Citation Envoyé par SebRs
    Manque t-il EOT a la fin ?
    Faut il attendre la fin d'écriture ?
    Oui, il manque peut être EOF (comme End Of File). Maintenant, es tu sur que ton erreur provienne de ces lignes ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    Oui , car si je mets en comment :
    WriteFile(IdFic,"Seb",3,MaVar,NULL);
    , plus d'erreur !!

  6. #6
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    OK, bon et bien il va falloir se creuser un peu la cervelle

    Essai comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String strMaChaine = "ce que tu veux";
    HANDLE taille = strMaChaine.Length();
     
    WriteFile(IdFic,strMaChaine ,taille ,MaVar,NULL);
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WriteFile(IdFic,"Ma chaine",16,MaVar,NULL);
    En fait, tu dis qu'il doit écrire 16 caractères, et tu lui en passe 9 avec "Ma chaine". Ca vient peut être de la !!

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    Quel est la syntaxe pour ajouter EOF , a ma chaine de caract ?

    Merci

  8. #8
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Citation Envoyé par SebRs
    Quel est la syntaxe pour ajouter EOF , a ma chaine de caract ?

    Merci
    Je crois qu'il faut ajouter "\0" !!

  9. #9
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    Citation Envoyé par niglo
    OK, bon et bien il va falloir se creuser un peu la cervelle

    Essai comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String strMaChaine = "ce que tu veux";
    HANDLE taille = strMaChaine.Length();
     
    WriteFile(IdFic,strMaChaine ,taille ,MaVar,NULL);
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WriteFile(IdFic,"Ma chaine",16,MaVar,NULL);
    En fait, tu dis qu'il doit écrire 16 caractères, et tu lui en passe 9 avec "Ma chaine". Ca vient peut être de la !!

    Non , le Pb ne vient pas de là.

  11. #11
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Citation Envoyé par SebRs
    Non , le Pb ne vient pas de là.
    T'as essayé au moins ??

  12. #12
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Citation Envoyé par seriousme


    Oui --> ERREURS EN C ---> ICI ON FAIT DU C++, donc les chaines de caratères existent !

    Maintenant, j'ai bien que je n'étais pas sur. Corrigez le '\0' si ce n'est pas ca, comme ca je pourrais mieux dormir ce soir

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    Citation Envoyé par niglo
    Citation Envoyé par SebRs
    Non , le Pb ne vient pas de là.
    T'as essayé au moins ??

    *****************************
    B I E N S U R !!!!!!!!!!!!!!!!!!!!!!




    Ca fait 2 jour que je me fais ch..... avec ca , donc chaque idée est la bien venue !

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    Personne a une idée ?
    Je travaille avec Dev-C++ et Xp2

    Si qq a un exemple , je suis preneur

    Merci

  15. #15
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Tu as fait ce qui est indiqué au post 2 ? La vérification des ouvertures de fichiers, c'est important, quand je note des TPs, ça compte pour un bon pourcentage de la note car une faute de frappe et on ne comprend plus pourquoi ça ne marche plus !

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    Si je l'ais fais , d'ailleurs le fichier est bien créé et écrit !
    Faut il ecrit EOT est comment ajouter a ma chaine ???

    Merci (Je suis débutant !!!!) J'utilise Dev-C++ , Appli Windows

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Par défaut
    C'est Bon YES................

    Apres lecure de la structure ici:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/writefile.asp

    Est définition des variables avec le bon type , ca fonctionne !
    Encore merci pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#][debutant]creation + ecriture fichier
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/01/2006, 08h28
  2. [debutant] concaténation de fichiers
    Par Spyco dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 13/07/2005, 10h52
  3. [debutant] envoi de fichier
    Par djchow dans le forum MFC
    Réponses: 8
    Dernier message: 21/03/2005, 16h57
  4. [Debutant]Nom de fichiers incomplets
    Par Drizzt [Drone38] dans le forum MFC
    Réponses: 3
    Dernier message: 04/06/2004, 16h33
  5. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    Réponses: 6
    Dernier message: 23/07/2003, 20h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo