Accueil > Forum > > > > Pb avec fread et fwrite
Pb avec fread et fwrite
lundi 3 avril 2006 à 19:34:17 |
Pb avec fread et fwrite

Cyr62110
|
Boujour. Voila le probléme. Lorsque j'essaye d'ecrire des donnés avec fwrite(), Windows marque "Erreur, Windows ...". Voici le bout de code : char data[] = "C:/Ulm/Data.txt";
/*Déclaration des fonction*/
main () { if (ux = fopen (data, "ab") == NULL) { printf ("\nSysteme non operationnelle."); printf ("\nFin du logiciel : Data.txt inexistant"); sleep (100); exit (1); } else { printf ("\nSysteme opperationnelle"); sleep (1000); } if (code = fread (&code,sizeof(int),1, ux) != 1) { printf ("\nChargement"); } if (code = fwrite (&code, sizeof(int), 1, ux) != 1) { printf ("\nEchec"); }
Quelqu'un pourait m'aider, svp.
|
|
lundi 3 avril 2006 à 19:49:28 |
Re : Pb avec fread et fwrite

SAKingdom
|
T'es if pourrais cosé problème essais
ux = fopen (data, "ab"));
if (ux == NULL) { printf ("\nSysteme non operationnelle."); printf ("\nFin du logiciel : Data.txt inexistant"); sleep (100); exit (1); } else { printf ("\nSysteme opperationnelle"); sleep (1000); }
code = fread (&code,sizeof(int),1, ux);
if (code != 1) { printf ("\nChargement"); }
code = fwrite (&code, sizeof(int), 1, ux); if (code != 1) { printf ("\nEchec"); }
___________________________________________ Les plus grands esprits trouvent toujours une solution
|
|
lundi 3 avril 2006 à 21:54:56 |
Re : Pb avec fread et fwrite

stenka
|
Voici un bel exemple commenté de lecture/écriture dans des fichiers avec fread et fwrite... (Dev-Cpp)
#include <stdio.h>
/* DECLARATIONS DES VARIABLES */
char fDep[260]; /* adresse et nom du fichier que l'on veut copier */ char fArr[260]; /* adresse et nom du fichier dans lequel on va faire la copie */ char fTmp[260]; /* chaîne de caractère temporaire */ FILE *FDEP; /* pointeur de type FILE */ FILE *FARR; /* pointeur de type FILE */ char ch[1]; /* tableau temporaire de 1 caractère */ int i; /* variable temporaire */
/* LA FONCTION APPELEE AU DEMARRAGE DE L'EXECUTABLE */ int main() { /* FICHIER QU'IL FAUT COPIER */ printf("Taper le nom avec extension du fichier que vous desirez copier\n"); printf("Ce fichier doit se trouver dans le repertoire de l'executable\n"); scanf("%s",fTmp); /* saisie du nom du fichier à lire */ strcpy(fDep,".\\"); /* début de l'adresse relative */ strcat(fDep,fTmp); /* ajout du nom à l'adresse relative */
/* FICHIER DANS LEQUEL ON VA ECRIRE */ strcpy(fArr,".\\"); /* début de l'adresse relative */ strcat(fArr,"fcopy"); /* ajout de fcopy avant le nom du fichier */ strcat(fArr,fTmp); /* ajout du nom du fichier */ /* OUVERTURE DES DEUX FICHIERS */ FDEP = fopen(fDep,"r"); /* ouverture en lecture seule de fDep */ FARR = fopen(fArr,"w"); /* ouverture en écriture seule de fArr */ do { i = fread(ch,1,1,FDEP); /* lire 1 caractère du fichier */ if (i > 0) /* si 1 caractère à été lu */ fwrite(ch,1,1,FARR); /* écrire ce caractère dans le nouveau fichier */ }while (i > 0); /* tant qu'on lit 1 caractère on retourne à i = fread(ch,1,1,FDEP); */ close(FDEP); close(FARR); system("pause"); /* affiche "Appuier sur une touche pour continuer ..." */ return 0; /* le programme se termine correctement */ }
sten ka
|
|
mardi 4 avril 2006 à 18:50:10 |
Re : Pb avec fread et fwrite

Cyr62110
|
Merci à Stenka, mais ça arrenge mon probleme qu'a moitié. Car dès que j'essaye de stoker une donnée quand celle-ci est relue elle est de valeur 1. Vérifier par vous même : #include <stdio.h>
int code = 35554233; FILE *verif; int a;
main () { char chemin [80]; printf ("\nEntrez le chemin ou est installe UX : "); scanf ("%s", &chemin); strcat (chemin, "data.txt"); verif = fopen (chemin, "wb"); if (verif == NULL) { printf ("\nSystéme non opérationelle"); printf ("\nFin de lancement"); perror ("Erreur systeme :"); sleep (1000); exit (1); } else { fprintf (stderr, "\nChargement."); for (a = 1; a < 20; a++) { sleep (50); printf ("."); } } code = fwrite (&code,2,1,verif); if (code == 0) { printf ("\nErreur lors de la lecture du code"); perror("Erreur systeme : "); sleep (1000); exit (1); } else { printf ("\nEnregistrement reussi"); } printf ("\nLe code est %d", code); code = fread (&code,2,1,verif); if (code > 0) { printf ("\nErreur lors de la lecture du code"); perror("Erreur systeme : "); sleep (1000); exit (1); } printf ("\nLe code est %d apres la reouverture du fichier", code); } P.S:Ux est le logiciel sur lequel je travaille. Si quelqu'un pourrait m'aider, je lui en serait reconnaissant.
|
|
mardi 4 avril 2006 à 18:50:12 |
Re : Pb avec fread et fwrite

Cyr62110
|
Merci à Stenka, mais ça arrenge mon probleme qu'a moitié. Car dès que j'essaye de stoker une donnée quand celle-ci est relue elle est de valeur 1. Vérifier par vous même : #include <stdio.h>
int code = 35554233; FILE *verif; int a;
main () { char chemin [80]; printf ("\nEntrez le chemin ou est installe UX : "); scanf ("%s", &chemin); strcat (chemin, "data.txt"); verif = fopen (chemin, "wb"); if (verif == NULL) { printf ("\nSystéme non opérationelle"); printf ("\nFin de lancement"); perror ("Erreur systeme :"); sleep (1000); exit (1); } else { fprintf (stderr, "\nChargement."); for (a = 1; a < 20; a++) { sleep (50); printf ("."); } } code = fwrite (&code,2,1,verif); if (code == 0) { printf ("\nErreur lors de la lecture du code"); perror("Erreur systeme : "); sleep (1000); exit (1); } else { printf ("\nEnregistrement reussi"); } printf ("\nLe code est %d", code); code = fread (&code,2,1,verif); if (code > 0) { printf ("\nErreur lors de la lecture du code"); perror("Erreur systeme : "); sleep (1000); exit (1); } printf ("\nLe code est %d apres la reouverture du fichier", code); } P.S:Ux est le logiciel sur lequel je travaille. Si quelqu'un pourrait m'aider, je lui en serait reconnaissant.
|
|
mercredi 5 avril 2006 à 11:46:09 |
Re : Pb avec fread et fwrite

stenka
|
Réponse acceptée !
C'est on ne peut plus normal... Lorsque qu'on fait code = fwrite (...); ou code = fread (...); on affecte le résultat des fonctions à code. Ce résultat vaut probablement le nombre de caractères écrits par fwrite ou 0 en cas d'erreur; il faut voir ça dans la doc de ces f°. Mais l'erreur doit venir de ces affectations qui modifient la valeur de code dès l'appel à fwrite (&code,2,1,verif); Une autre variable peut remplacer code pour cette tâche!
sten ka
|
|
Cette discussion est classée dans : code, data, printf, fwrite, fread
Répondre à ce message
Sujets en rapport avec ce message
Pb avec les printf [ par PierScher ]
voici le code pour afficher un pendu :printf(" ++++++++++++++++++++++++\n");printf("
API Windows NT [ par Nebula ]
Bonsoir !J'essaie de récupérer le propriétaire d'un fichier sur un volume NTFS, mais le système me retourne toujours un échec.... J'utilise le code su
besoin d'aide : liste chainée [ par SemBy ]
salutjutilse une liste chainée pour pouvoir traité une structure.declaration de ma structure :struct etu{ char nom[25]; char prenom[25];
printf de #define [ par Manson ]
Bonjour,voila j'ai un #define qui se presente sous cette forme :#define FILEVER 1,2,3,4Je ne peux absoluement pas changer son format.<
CObject [ par ifren ]
salutj'ai un petit probleme,bon j'ai une classe data qui herite de la classe CObject, jusque la normalj'ai un tel codeData::Data(): // Copie de l'obje
Probleme utilisation de fread [ par Trinita16 ]
Bonjour, Voila le source d'un programme qui doit lire un fichier binaire. Mais je ne comprends pas l'executable systematiquement...Je pense qu'il y a
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
Unsigned __int64 et PRINTF [ par BeLZeL ]
Ce message n'attend pas de réponse. Il est là à titre indicatif. Il aidera les gens qui tomberont dessus via un moteur de recherche.En effet, j'ai un
Cryptage de Jules César [ par thedivxboy ]
Pourquoi ce code plante quand je mets un scanf ?Et pourquoi lorsque je retire 27 au résultat crypté si il dépasse l'alphabet, cela m'affiche des carac
SOS manque d'inspiration [ par 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 fich
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|