1

lu,
Je recherche des fonction pour ouvrir fermer, savoir la taille d'un fichier, extraire tout un fichier.


Merci
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

2

fopen, fclose ?

3

oui, ca je connais, mais ya pas des fonctions pour savoir la taille directement etc...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

4

stat. Ou fstat si tu as déjà ouvert ton fichier.
Pour extraire un fichier entier, tu fais un fread dans un buffer de taille la taille du fichier.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

ombien); long [b]filelength[/b](int handle);
Je te conseille les fonctions de bas niveau :int open(const char *nom, int options);
int write(int handle, void *buffer, int combien);
int read(int handle, void *buffer, int c
C'est un peu plus chiant parcequ'il faut gérer soi-même les buffers (pas question d'appeler 256 fois read pour lire 256 longs, bonjour la lenteur !)
Avec ces fonctions-là tu travailles directement sur le disque (à l'origine sous DOS, mais Window$ optimise (normalement bien) les opérations).

Quand c'est bien géré, c'est plus rapide que les fonctions bufferisées (fopen et ses dérivées).
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

6

merci.

Sinon finalement pour mon projet j'ai utiliser cela:
CUtilisateurs::CUtilisateurs()
{
// Chargement des utilisateurs à partir du fichier "Utilisateurs"
ifstream lecture( "Utilisateurs" );
nNbrUtilisateur = 0;

while( lecture.read( (char *)TempNomUtilisateur, 30 ) != 0 )
{
if ( TempNomUtilisateur[0] != ' ') // Vérifie si il s'agit d'un compte ou un emplacement libre
nNbrUtilisateur++;
strcpy( NomUtilisateur + 30*nNbrUtilisateur++ , TempNomUtilisateur );
}

lecture.close();
}
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

7

fopen() pour ouvrir le fichier
fclose pour fermer

En suite une methode super :

fseek
et
ftell

vala une tit fonction pour avoir la tailel d'un fichier :
int GetFileSize(const char *filename)
{
 FILE *fp;
 int filesize;
 fp = fopen(filename,"rb"); /* On onvre le fichier */
 fseek(fp,0,SEEK_END); /* On va a la fin du fichier */
 filesize = ftell(fp); /$ On recupere l'emplacement (offset) sur le fichier du pointeur de fichier */
 fclose(fp);
 return filesize;
}


Vala
Compliqué non ? wink
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

8

ct l'autre topic smile
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

9

Pa grave grin g donné une super solution ici quand meme grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

10

class CCarnetAdresseApp : public CWinApp
{
public:
CUtilisateurs Utilisateur;
	CCarnetAdresseApp();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CCarnetAdresseApp)
	public:
	virtual BOOL InitInstance();
	//}}AFX_VIRTUAL

// Implementation

	//{{AFX_MSG(CCarnetAdresseApp)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!