Affecter un pointeur de fichier a un autre

Affecter un pointeur de fichier a un autre - C - Programmation

Marsh Posté le 15-03-2008 à 17:39:31    

Bonjour a tous,
voila j'ai une fonction lire(FILE * fichier) qui effectue des opérations sur un fichier ouvert precedement.
J'amerais creer dans cette fonction un autre pointeur nommé STOP, dans ce meme fichier.
Comme le fichier a deja été ouvert avant, je ne veux pas faire STOP=fopen("monfichier.txt",rw);
Mais l'affectation ci-dessous ne marche pas:
 

Code :
  1. int lire(FILE * fichier) {
  2.  
  3.    FILE * STOP;
  4.    ...
  5.    STOP=fichier; //pas ok, idem pour  *STOP=*fichier
  6.    ...
  7. }


 
Probleme: lorsque je modifie STOP, fichier est egalement modifié :(
Savez-vous si c'est possible d'avoir 2 pointeurs a des positions differentes, sans faire 2 fois un fopen?
D'avance merci :)

Reply

Marsh Posté le 15-03-2008 à 17:39:31   

Reply

Marsh Posté le 15-03-2008 à 21:40:49    

1. Dans l'exemple ni "fichier" ni "STOP" ne sont des pointeurs. Ce sont des index de descripteurs de fichiers internes.
2. Il est possible d'ouvrir un fichier plusieurs fois, s'il n'est pas verrouillé.
3. Il est possible de se positionner dans un fichier avec l'instruction fseek(...).

Reply

Marsh Posté le 17-03-2008 à 11:34:42    

un tableau de FILE* et tu affecte les index ce n'est pas possible ?

Reply

Marsh Posté le 17-03-2008 à 13:14:02    

DrOctopus a écrit :

Savez-vous si c'est possible d'avoir 2 pointeurs a des positions differentes, sans faire 2 fois un fopen?


Je pense que ce n'est pas possible.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed