OVH Cloud OVH Cloud

bc++6 stream et seekg

1 réponse
Avatar
fontaine jean paul
bonjour,
c++ builder 6
j'ai un petit problemes avec le membres seekg de fstream

voici les include


#include <vcl.h>
#include <fstream>
#include<iostream>
#include <stdio.h>
#include <string>
#include <cstdlib>
#include <ios>
#pragma hdrstop
using namespace std;
#include "tva1.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

// ceci est la fonction qui doit extraire les donnees qui sont
//enregistree comme structure contenant
//des strings et des nombres d'une sizeof de 90


void quedesnombres(char * recettesaouvrir)
{

char *recet[90];
char *buf;
int tour=0;
long longueur=0;

//je declare l'objet comme fstream

fstream rec(recettesaouvrir,ios::binary);

// j'ouvre l'objet

rec.open(recettesaouvrir,ios::binary);

// je veux calculer la grandeur du fichier

rec.seekg(0,ios::end);
longueur=rec.tellg();

// longueur m'affiche -1 dans la fenetre evaluer/suivi

if (rec.is_open())
{
ShowMessage(AnsiString("ouvert")+BoolToStr(rec.is_open));

//le fichier est bien ouvert car il passe ici (is_open = true)
//la longueur est affiché à -1
//la question est ou ca foire

ShowMessage(AnsiString("taille")+IntToStr(longueur));
}
else
ShowMessage(AnsiString("ferme")+BoolToStr(rec.is_open));
//
while (tour<=89)
{

rec.read(buf,1);
tva->StringGrid1->Cells[tour][1]=buf;

tva->StringGrid1->Cells[tour][2]=IntToStr(&buf);
rec.seekg(tour+1);
tour++;
}
rec.close();
tva->Label2->Caption=recettesaouvrir;

1 réponse

Avatar
fontaine jean paul
//j'ai trouvé , si ca peut servir a quelqu'un
//if faut declarer l'objet comme fstream mais sans aucun argument
//soit
// fstream rec;

fontaine jean paul wrote:

bonjour,
c++ builder 6
j'ai un petit problemes avec le membres seekg de fstream

voici les include


#include <vcl.h>
#include <fstream>
#include<iostream>
#include <stdio.h>
#include <string>
#include <cstdlib>
#include <ios>
#pragma hdrstop
using namespace std;
#include "tva1.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

// ceci est la fonction qui doit extraire les donnees qui sont
//enregistree comme structure contenant
//des strings et des nombres d'une sizeof de 90


void quedesnombres(char * recettesaouvrir)
{

char *recet[90];
char *buf;
int tour=0;
long longueur=0;

//je declare l'objet comme fstream

fstream rec(recettesaouvrir,ios::binary);

// j'ouvre l'objet

rec.open(recettesaouvrir,ios::binary);

// je veux calculer la grandeur du fichier

rec.seekg(0,ios::end);
longueur=rec.tellg();

// longueur m'affiche -1 dans la fenetre evaluer/suivi

if (rec.is_open())
{
ShowMessage(AnsiString("ouvert")+BoolToStr(rec.is_open));

//le fichier est bien ouvert car il passe ici (is_open = true)
//la longueur est affiché à -1
//la question est ou ca foire

ShowMessage(AnsiString("taille")+IntToStr(longueur));
}
else
ShowMessage(AnsiString("ferme")+BoolToStr(rec.is_open));
//
while (tour<‰)
{

rec.read(buf,1);
tva->StringGrid1->Cells[tour][1]=buf;

tva->StringGrid1->Cells[tour][2]=IntToStr(&buf);
rec.seekg(tour+1);
tour++;
}
rec.close();
tva->Label2->Caption=recettesaouvrir;