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 :

recuperation de données


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut recuperation de données
    Bonjour à vous programmeurs en C :

    Voila je vous explique mon probleme :
    j'ai un fichier "toto.txt"
    qui contient
    un
    deux
    trois
    quatre
    cinq
    et je dois à l'aide d'un char buff[2*BUFSIZ] (sachant que j'ai definie #define BUFSIZE 5)

    j'ai donc reussi à lire dans le fichier les 10 premiers octets ainsi que tout les autres cela veut dire que quelques soit les données ecrites dans le fichier j'arrive à les lires à l'ecran

    maintenant j'aurais besoin de votre aide pour savoir comment faire pour recuper un chiffre par exemple(chiffre ecrit dans le fichier) et le comparer par rapport à une valeur maximale

    mon futur fichier se presentera sous cette forme la
    12 155
    15 16
    18 16
    156 156
    je devrais donc lire ces valeurs les affichés (mais ca cest en plus et j'arrive à le faire) mais j'aimerai m'arrete a la premiere valeurs la lire l'afficher la comparer puis passé à la deuxieme etc...

    comment faire si je veux comparer la valeur , comment la recuperer dans une valeur sachant que j'affiche octet par octer?

    a moins qu'il ya une solution pour afficher les mots jusqua l'espace ou le caractere \n
    merci de vos aides precieuses
    voici le code
    appli.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <stdio.h> 
     
    #undef BUFSIZ
     
    #define BUFSIZ 5
     
    #include <conio.h> //pour getch()
     
    #include <stdlib.h> //exit(0)(fonction terminator)
     
    #include <io.h> //pour la fonction open
     
    #include <fcntl.h> //pour les attributs O_CREAT,O_BINARY....
     
    #include <sys/stat.h> //pour les attributs S_IREAD,S_IWRITE.....
     
    #include <errno.h> // pour les attributs EACCESS....
     
    #include <string.h> //pour strlen
     
    #include "C_File.h" //fichier de la classe C_File
     
    //Prototype Terminator
    void Fin (char* pMsg);
    Fichier C_File.h (//header de la classe C_File)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
     
    class C_File
    {
    	private :
    		char buff[2*BUFSIZ];
    		int iFichier,iBitsEcriture,iBitsLecture;
     
    	public :
     
    		 C_File();
    		 int FILE_READ(void);
    		 void FILE_TRAITE(int);
    		 ~C_File();
    };/*
    FILE_NEW // Ouverture du fichier
    FILE_DEL // Fermeture du fichier
    FILE_READ // Lecture d'un bloc
    FILE_TRAITE // Traitement de ce qui est dans le tampon*/
    Fichier Fin.h (//ma fonction termniator ,si il ya une erreur on quitte le programme)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include "appli.h"
     
    void Fin (char *pMsg)
     
    {
    	puts(pMsg);
    	exit(0);
    }
    Le fichier C_File.cpp (la classe C_File)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    http://www.developpez.net/forums/forumdisplay.php?f=7
    }
    Et le main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #include "appli.h"
     
     
     
    void main (void)
    {
     
     
    	int iNbrOctets;
    	//creation d'une variable de type C_File
    	C_File objet;
     
     
    	iNbrOctets = objet.File_read();
    	if(iNbrOctets ==-1) Fin("Ecriture : Erreur");
     
     
     
     
     
    }
     
     
     
     
     
    }
    merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    personne n"a de petite idée ou mon post est trop grand!!!

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 125
    Par défaut
    Salut,
    la faq gere deja ce genre de sujets:
    http://c.developpez.com/faq/cpp/?fil...NNNONNN#sect22
    je te conseil les paragraphes 12 et 13 sur la gestion des strings et la gestions des flux


    sinon pour lire dans un fichier on te conseillera plutot la classe
    fstream ou istream avec une lecture en utilisant le getline(stream,string)
    puis tu convertis la string en int cf la faq

    bonne chance a toi

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    le probleme est que je ne peux utiliser les fonctions avec f exemple fopen, fgets....

    donc je cherche une solution pour pouvoir recuperer les informations disons que il faudrait que je mettes dans une variable les informations jusqu'a l'espace mais comment faire pour definir l'espace

    je fais

    do
    {
    }while(buff[iCpt]!=' ');

    ??? merci de vos reponses

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 125
    Par défaut
    tu as également une fonction C

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include <stdio.h>
    ssize_t getline(char **lineptr, size_t *n, FILE *stream);

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    mais comment tu l'utilises je comprend pas trop

    merci de ton aide

    cordialement

    de plus je ne vois pas du tout comment l'integrer dans mon code je sais je suis un peux bete mais j'ai vraiment aucune idée la je galére depuis pas mal de temps , j'arrive à lire dans le fichier à afficher tout le fichier à l"ecran avec un buffer de taille max de 10 octets j'ai reussi à faire un buffer tournant mais apres jaimeraui recuperer le premier nombre sachant que chaque nombre et separé par un espace (l'espacec'est quoi comme code sachant que retour à la ligne c'est \n ...)

    merci d'avance

Discussions similaires

  1. [vbexcel]recuperation de données
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2005, 13h01
  2. Mysql LongBlob: recuperer les données
    Par froz dans le forum SGBD
    Réponses: 1
    Dernier message: 24/08/2005, 14h41
  3. PB de recuperation de données en asynchrone !!
    Par Stopher dans le forum C++
    Réponses: 8
    Dernier message: 01/02/2005, 23h20
  4. Recuperer des données d'access
    Par Lucier dans le forum MFC
    Réponses: 18
    Dernier message: 25/11/2004, 10h29
  5. Réponses: 3
    Dernier message: 22/02/2004, 20h09

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