FSEEK |
Position dans le fichier |
---|---|
Langage C++ | cstdio (stdio.h) |
Syntaxe
int fseek(FILE *ptrfichier,long offset,int base) |
Paramètres
Nom | Description | |
---|---|---|
ptrfichier | Ce paramètre permet d'indiquer l'identificateur du fichier | |
offset | Ce paramètre permet d'indiquer la position du pointeur dans le fichier | |
base | Ce paramètre permet d'indiquer le mode d'ouverture combiné du fichier | |
Constante | Description | |
SEEK_CUR | Cette constante indique un positionnement à partir de la position courante dans le fichier | |
SEEK_END | Cette valeur indique un positionnement à partir de la position de la fin dans le fichier | |
SEEK_SET | Cette valeur indique un positionnement à partir de la position du début dans le fichier |
Description
Cette fonction permet de fixer le positionnement du pointeur de fichier.
Remarques
- La fonction fseek() définit l'indicateur de position de fichier associé au flux de données en fonction des valeurs de déplacement et d'origine. Son objectif est de prendre en charge les opérations d'entrée/sortie à accès aléatoire. Le déplacement est le nombre d'octets de l'origine à rechercher. Les valeurs d'origine doivent être l'une de ces macros définies dans l'entête cstdio.
- Une valeur de retour de zéro signifie que la fonction fseek() a réussi. Une valeur différente de zéro indique un échec.
- Vous pouvez utiliser la fonction fseek() pour déplacer l'indicateur de position n'importe où dans le fichier, même au-delà de la fin. Cependant, c'est une erreur de tenter de régler l'indicateur de position avant le début du fichier.
- La fonction fseek() efface l'indicateur de fin de fichier associé au flux de données spécifié. De plus, il annule tout ungetc() antérieur sur le même flux de données.
Exemple
Prenons pour acquis que le fichier «readtext.txt» est le contenu :
Ceci est un exemple de fseek sur le site de Gladir.comVoici un exemple montrant une utilisation plus classique de cette fonction :
Essayer maintenant !
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
-
- int main()
- {
- FILE * Handle = fopen("readtext.txt", "r");
- if(Handle != NULL) {
- char Temp[4];
- int I;
- Temp[3] = 0;
- for(I = 0; I <= 3; I++) {
- fseek(Handle,I * 8, SEEK_SET);
- fread(&Temp,3,1,Handle);
- std::cout << I << ":" << Temp << std::endl;
- }
- fclose(Handle);
- }
- return 0;
- }
on obtiendra le résultat suivant :
0:Cec1: un
2:ple
3:see
Voir également
Langage de programmation - C++ - Référence de procédures et fonctions - fgetpos
Langage de programmation - C++ - Référence de procédures et fonctions - fopen
Langage de programmation - C++ - Référence de procédures et fonctions - fsetpos
Langage de programmation - C++ - Référence de procédures et fonctions - ftell
Langage de programmation - C++ - Référence de procédures et fonctions - rewind
Langage de programmation - C - Référence de procédures et fonctions - fseek
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 732.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 114.