[C++] lecture fichier de plusieurs Giga
Résolu/Fermé
grorel
Messages postés
6
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
30 octobre 2007
-
24 juil. 2007 à 13:22
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 26 juil. 2007 à 10:52
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 26 juil. 2007 à 10:52
A voir également:
- [C++] lecture fichier de plusieurs Giga
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Confirmation de lecture whatsapp - Guide
- Comment réduire la taille d'un fichier - Guide
6 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
24 juil. 2007 à 13:30
24 juil. 2007 à 13:30
Pour dépasser la limite de 4Gb, n'y-a-t-il pas des fonctions open64, read64, lseek64 etc ?
Ca doit être ca:
Run-Time Library Reference
_lseek, _lseeki64
Moves a file pointer to the specified location.
https://www.microsoft.com/en-us/download/details.aspx?id=55984
Ca doit être ca:
Run-Time Library Reference
_lseek, _lseeki64
Moves a file pointer to the specified location.
https://www.microsoft.com/en-us/download/details.aspx?id=55984
grorel
Messages postés
6
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
30 octobre 2007
24 juil. 2007 à 16:20
24 juil. 2007 à 16:20
Merci, c'est exactement ce qu'il me faut.....
....sauf que ca marche qu'avec visual .net et que je suis sous visual 6.0. (oui j'avais oublier de préciser). Donc si tu connais un équivalent pour cette version ce serait super.
Merci en tout cas de ton aide, je continue a chercher.
....sauf que ca marche qu'avec visual .net et que je suis sous visual 6.0. (oui j'avais oublier de préciser). Donc si tu connais un équivalent pour cette version ce serait super.
Merci en tout cas de ton aide, je continue a chercher.
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
24 juil. 2007 à 16:42
24 juil. 2007 à 16:42
lseek64 (sans i), je ne vois pas trop d'autre choix, à moins que 6.0 ne supporte pas les fichiers > 4Gb.
voir la doc.
et une option de compilation, genre largefile ?
là: https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-6.0/aa246460(v=vs.60)?redirectedfrom=MSDN
c'est la doc 6.0
_lseek, _lseeki64 Reposition file pointer to given location
quoi que, mauvaise nouvelle peut-êre
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=422910&SiteID=1
Sorry Visual C++ 6.0 is way too old for this (64bit was still pretty much a small niche market back in 1998). Visual C++ 6.0 is also no longer supported - you should upgrade to Visual C++ 2005.
voir la doc.
et une option de compilation, genre largefile ?
là: https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-6.0/aa246460(v=vs.60)?redirectedfrom=MSDN
c'est la doc 6.0
_lseek, _lseeki64 Reposition file pointer to given location
quoi que, mauvaise nouvelle peut-êre
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=422910&SiteID=1
Sorry Visual C++ 6.0 is way too old for this (64bit was still pretty much a small niche market back in 1998). Visual C++ 6.0 is also no longer supported - you should upgrade to Visual C++ 2005.
grorel
Messages postés
6
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
30 octobre 2007
25 juil. 2007 à 09:35
25 juil. 2007 à 09:35
La fonction _lseeki64 fonctionne sur VC++ 6.0. Mais elle est aussi lente que la fonction read de base. Je pensais pourtant qu'il y avait moyen d'accélérer le traitement de mes données si je bougais juste le pointeur (surtout que je lit un byte tous les 262144 bytes). enfin....
Donc pour se déplacer dans un fichier de plusieurs Giga, c'est _lseeki64 qu'il faut utiliser si on est rester a VC++ 6.0. Mais si on se déplace uniquement dans le sens de la lecture, ben c'est pas plus rapide finalement qu'un bon vieu read, meme si ca économise la place en mémoire du buffer.
Merci de ton aide en tout cas, je vais garder mon programme tel quel. tant pis, je lancerais mes tests la nuit et ca sera fini le matin. ;)
A+
Donc pour se déplacer dans un fichier de plusieurs Giga, c'est _lseeki64 qu'il faut utiliser si on est rester a VC++ 6.0. Mais si on se déplace uniquement dans le sens de la lecture, ben c'est pas plus rapide finalement qu'un bon vieu read, meme si ca économise la place en mémoire du buffer.
Merci de ton aide en tout cas, je vais garder mon programme tel quel. tant pis, je lancerais mes tests la nuit et ca sera fini le matin. ;)
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
26 juil. 2007 à 09:08
26 juil. 2007 à 09:08
C'est bizarre, car le rôle de lseek c'est de se positionner directement sur le byte choisi. Ca doit être immédiat.
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
26 juil. 2007 à 10:52
26 juil. 2007 à 10:52
C'est lseek ou le programme qui est lent ?
le probléme vient surement d'ailleurs .
faire des tests en affichant le temps avant et après le lseek.
le probléme vient surement d'ailleurs .
faire des tests en affichant le temps avant et après le lseek.