[C] Déplacer dans un fichier de 50Go ?
Résolu/Fermé
youscoul
Messages postés
125
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
7 janvier 2013
-
21 avril 2010 à 09:45
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 21 avril 2010 à 11:56
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 21 avril 2010 à 11:56
A voir également:
- [C] Déplacer dans un fichier de 50Go ?
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Déplacer une colonne excel - Guide
- Ouvrir un fichier .bin - Guide
5 réponses
Edwyn
Messages postés
105
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
31 mars 2011
14
21 avril 2010 à 09:56
21 avril 2010 à 09:56
Salut,
regarde ce post je pense qu'il a eu le meme probleme que toi
https://forums.commentcamarche.net/forum/affich-10483231-langage-c-ftell-fseek
j'espere que ca t'aidera
bye
regarde ce post je pense qu'il a eu le meme probleme que toi
https://forums.commentcamarche.net/forum/affich-10483231-langage-c-ftell-fseek
j'espere que ca t'aidera
bye
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
21 avril 2010 à 09:58
21 avril 2010 à 09:58
hello
il doit y avoir une fonction _fseeki64 ou fseek64 pour accéder des fichiers plus grands que 2 ou 4 Gb
il doit y avoir une fonction _fseeki64 ou fseek64 pour accéder des fichiers plus grands que 2 ou 4 Gb
youscoul
Messages postés
125
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
7 janvier 2013
4
21 avril 2010 à 10:55
21 avril 2010 à 10:55
Merci, je l'ai testé. Il fonction mais il bloque tout mon système. Dès qu'il est lancé il s'arrête jamais même si je ferme mon compilateur ou même si j'arrête le processus dans le gestionnaire. Donc est ce vraiment compatible 32 bits sans boguer ? merci au moins je sais ke ça la solution quand je passe ma machine en 64bits.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
21 avril 2010 à 10:45
21 avril 2010 à 10:45
les systèmes 32bits ont en général des fonction d'IO 64 bits pour justement dépasser les limites de taille des fichiers de 4Gb
youscoul
Messages postés
125
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
7 janvier 2013
4
21 avril 2010 à 10:24
21 avril 2010 à 10:24
Merci, mais ces fonctions ne sont t-elles pas faites pour les systèmes 64 bits ?
Sinon ça serait la solution à mon problème. Encore think
Sinon ça serait la solution à mon problème. Encore think
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
21 avril 2010 à 11:56
21 avril 2010 à 11:56
non, le but c'est de pouvoir accéder des fichiers de plus de 2/4 Gb, taille petite de nos jours sur des systèms 32 bits, regarde dans la doc (je n'ai pas le C Wndows)
21 avril 2010 à 10:22
offset=(Compteur[categorie]+(categorie-1)*10000)*NbreOctet. Où categorie varie de 1 à 5000000, et à chaque categorie j'ai un compteur associé qui permet de memoriser le nombre de fois où cette categorie s'est produite. Dans mon cas ici, la difference avec l'autre post que tu m'as passé est que: le stockage est vraiment aleatoire car depend de la categorie qui est tiré. Merci encore et je repete que j'ai pas compris l'autre forum.
21 avril 2010 à 10:39
fseek(FILE *stream, long offset, int whence);
En gros je voie pas ce qui t'empeche de jouer avec les valeur de Whence pour ton problem.
Avec whence tu peux te deplacer a partir de ta position actuel donc normalement en y allant a petit pas tu peuix te deplacer ds tout ton fichier quelque soit ca taille.
exemple tu te deplace de 1G a partir dudebut de ton fichier puis apres de 1G a partir te ta position actuel et ainsi de suite.
je sais pas si tu as essaye de faire ca?
21 avril 2010 à 10:51
cetgorie1................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
categorie2................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
categorie3.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
categorieN................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Et les categorie se produisent de manière aléatoire. Donc on peut se faire à categorie 3000 pour stocker en premier enregistrement et aleatoirement à categorie 100 pour stocker lors du deuxieme enregistrement. Merci et desolé je sais ke c'est trop brute comme explication mais c'est vraiment un projet costo
Modifié par Edwyn le 21/04/2010 à 11:38
argument instead of a long. Likewise, the ftello() function is identical
to ftell(), except it returns an off_t.
The fgetpos() and fsetpos() functions are alternate interfaces for
retrieving and setting the current position in the file, similar to
ftell() and fseek(), except that the current position is stored in an
opaque object of type fpos_t pointed to by pos. These functions provide
a portable way to seek to offsets larger than those that can be repre-
sented by a long int. They may also store additional state information
in the fpos_t object to facilitate seeking within files containing multi-
byte characters with state-dependent encodings. Although fpos_t has tra-
ditionally been an integral type, applications cannot assume that it is;
in particular, they must not perform arithmetic on objects of this type.
desole g copier tout le man mais ces fonctions vont te permettre de te deplacer ds ton fichier et surtout de recup les positions dans ton fichier de tes categories
Donc en les stoquant dans des structure (les positions) tu pourrais lier les structure avec leur offset de depart et donc te deplacer a partir du debut de tes categories.
Je sais pas si c'est tres claire mais en gros tu link tes categories a leur offset...