Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4161 connectés 

 


Dernière réponse
Sujet : [c] compter le nombre de char d'un fichier
barbarella tiens,
 
tu ouvres ton fichier avec des handle et tu fais  
 
long file_length(int hand)
{
 long ret,sauv;
 
 sauv = lseek(hand,0L,SEEK_CUR);
 ret  = lseek(hand,0L,SEEK_END);
 lseek(hand,sauv,SEEK_SET);
 return(ret);
}

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
barbarella tiens,
 
tu ouvres ton fichier avec des handle et tu fais  
 
long file_length(int hand)
{
 long ret,sauv;
 
 sauv = lseek(hand,0L,SEEK_CUR);
 ret  = lseek(hand,0L,SEEK_END);
 lseek(hand,sauv,SEEK_SET);
 return(ret);
}
youdontcare ah oui la question de la fonction pour la longueur du fichier ... :D
 
* utiliser fseek() pour positionner le pointeur de fichier comme relatif à la fin du fichier.
* puis appeler fgetpos() pour chopper la position du pointeur de fichier, donc la taille du fichier.  
 
ça c'est pour la lib standard. y'a des fonctions win32 qui font ça toutes seules (plus les noms en tête).
youdontcare

otb82 a écrit a écrit :

c le entree est a null
prtant le fichier existe et a les droits en lecture ...  



soit précis.
 
* quel est le chemin absolu du fichier ?
* que vaut fichier lorsque tu le passes à ta fonction ?

otb82 c le entree est a null
prtant le fichier existe et a les droits en lecture ...
Fork je te propose l'artillerie lourde pour découvrir l'origine du bug :
 
int nbchar(char * fichier)
{
 FILE * entree;
 char i;
 int temp;
 
 entree = fopen(fichier);
 
 if(entree==NULL)
 {
    printf("Erreur ouverture du fichier '%s'\n",fichier);
    exit(0);
 }
 
 while (!feof(entree))
   {
     fread(&i,sizeof(char), 1, entree);
     temp++;
     if(temp<=0)
     {
        printf("Dépassement des capacités de la variable temp. Il faut changer de type.\n" );
        exit(0);
     }
   }  
 fclose(entree);
 return(temp);
}
otb82

Fork a écrit a écrit :

Qu'est-ce qui ne marche pas au juste ?
Les fichiers de plus de 64Ko par hasard ?  




 
c ce que je me demande ...
non c des petit fichier ... html de merde ...
en fait des fois le entree = fopen(fichier,"r" )
retourne null donc ca fais planter le reste de mon mini proj  
et je sais aps prkoi ... le fichier existe et a bien les droit en lecture ....
je peux pas me gourer dans le nom du fichier puisque c une fonction qui extrait les nom des fichier a partir d'un repertoire ...

Fork Qu'est-ce qui ne marche pas au juste ?
Les fichiers de plus de 64Ko par hasard ?
otb82

TheJackal a écrit a écrit :

$i :??:  




$i = &i bien entendu ... encore un ripage de doight sur le clavier :)

TheJackal $i :??:
otb82 vous aurez corrige de vous meme  
fopen(fichier);
par fopen(fichier, "r" );
otb82 voila comment g code la fonction pour savoir le nbre de char qu'un fichier a, j'aimerais savoir s'il existe pas un fonction deja tte prete, car en faite elle fais partie d'un gros truc et elle marche pas a ts les coup ?! (prtt elle me parait bonne)
 
int nbchar(char * fichier)
{
  FILE * entree;
  char i;
  int temp;
 
  entree = fopen(fichier);
  while (!feof(entree))
    {
      fread($i,sizeof(char), 1, entree);
      temp++;
    }  
  fclose(entree);
  return(temp);
}

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)