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

 


Dernière réponse
Sujet : Taille de fichiers
Carbon_14 Topic un peu plus haut à cette heure :
http://forum.hardware.fr/forum2.ph [...] &owntopic=

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
Carbon_14 Topic un peu plus haut à cette heure :
http://forum.hardware.fr/forum2.ph [...] &owntopic=
mario51

mogi a écrit a écrit :

 
 
en fait, je pense que les deux notations sont équivalentes...
 
Mario51: as-tu tjrs des pb ?
 
Mogi.  




 
Merci les gars, mon probleme et resolu !!!!
 
Autre probleme: code un entier qui fait plus de 20 chiffres!!!!

mogi

bjbebert a écrit a écrit :

Je sais pas vous mais moi la ligne 'char chaine_temp[50]="";',ca me plait moyen.
Tu prefererais pas : char chaine_temp[50]; chaine_temp[0] = '\0';  




 
en fait, je pense que les deux notations sont équivalentes...
 
Mario51: as-tu tjrs des pb ?
 
Mogi.

Carbon_14 J'utilise la méthode bjbebert car on voit mieux ce qu'on fait (+ lisible).  
Si le compilateur traduit mal ="", on sait pas trop ce qu'on obtient ...
 
Désolé, vendredi je manquais de temps...
bjbebert Je sais pas vous mais moi la ligne 'char chaine_temp[50]="";',ca me plait moyen.
Tu prefererais pas : char chaine_temp[50]; chaine_temp[0] = '\0';
mogi chaine_temp[0] = '\0';
 
Mogi.
mario51 Merci les gars!!!
 
Savez vous comment "repartir" avec une chaine vide?
mogi heu, il y a bien une limite physique pour ton fichier qui est imposé par ton OS, mais je crois que le pb est ailleurs...
 
il semblerait que tu remplisses un peu trop ta chaine temporaire
 
d'ailleurs c'est un peu dangereux de faire
 
char chaine_temp[50]="";
//là, t'es sur que chaine_temp[0]=='\0'
chaine_temp[0]='1';
//là, tu peux rien dire sur chaine_temp[1] !!!
 
il me semble qu'après tu ne fais que des strcat sur chaine_temp... alors forcément, 50 caractères c'est vite rempli :-)
 
Mogi.
Carbon_14 Le seul truc qui me vient comme cela, mais pas sûr du tout :
fopen admet les noms longs ?? (c'est peut-être absurdité en mode 32 bits)
 
Calcul.txt, pour tester ? Si OK, ça vient du nom du fichier non 8+3 (ou 8.3).
 
J'ai eu un pb une fois avec une fonction API Windows qui lit les métafichiers. Quand le nom est long, elle cafouille (rejet) car elle date du 16 bits. Il y a une fonction Windows 32 bits qui permet de transcoder ("masquer" ) un nom long pour le faire digérer par une fonction "nom court". Je sais plus son nom, faudrait que je cherche.
 
Ai pas trop le temps de m'y plonger, mais attention aux chaînes à 50 "cases" : n'y écrire que 49 caractères (y a un \0 à la fin). :)
mario51

CARBON_14 a écrit a écrit :

Y a moyen de voir un bout de code (ouverture, accès en écriture, fermeture (facultatif, car si ça plante avant ..)) ?
 
Si ça écrit RIEN, c'est qu'il y a un pb de fonction (ou de variable). Ca doit au moins écrire une ligne si le disque n'est pas plein à ras bord).  




 
 
voila le code:  
 
void creation_fichier_precalcule()
{
 FILE* fp;
 char motif_temp[12];
 char chaine_temp[50]="";
 int i,j;
 
 if((fp=fopen("pre_calcule.txt","w" ))==NULL)
  fputs("impossible d'ouvrir le fichier pre_calcule",stderr);
 
 
// strcat(chaine_temp,"1" );
 chaine_temp[0]='1';
 
 i=3;
 while(i!=4097)
 {
  strcpy(motif_temp,decimal2binaire(i));
  fprintf(fp,motif_temp);
  fprintf(fp,"\n" );
   
  for(j=1;j<=49;j++)
  {
   strcat(chaine_temp,"1" );
   fprintf(fp,chaine_temp);
   fprintf(fp,recherche_sequentielle(motif_temp,chaine_temp));
   fprintf(fp,"\n" );
   strcat(chaine_temp,"1" );
  }
  i=i+2;
  //la je voudrais repartir avec une chaine vide !!!!
 }
 
 
 
 
 fclose(fp);
 
}
 
 
une idée???

Carbon_14 Y a moyen de voir un bout de code (ouverture, accès en écriture, fermeture (facultatif, car si ça plante avant ..)) ?
 
Si ça écrit RIEN, c'est qu'il y a un pb de fonction (ou de variable). Ca doit au moins écrire une ligne si le disque n'est pas plein à ras bord).
mario51

CARBON_14 a écrit a écrit :

Le soft qui écrit les données (100 000 lignes), c'est quoi ? Il reste la place sur le disque destination ?  




 
c'est un programme C!

Carbon_14 Si les données ne sont que des nombres (genre flottants), ça peut se stocker sous forme binaire. Tout dépend de la précision voulue (nombre de décimales), du but final (pas très clair), de l'accès avec un autre soft, de modif éventuelles (on écrit au bout du fichier, on doit en effacer une partie avant d'écrire, ...)....
Carbon_14 Le soft qui écrit les données (100 000 lignes), c'est quoi ? Il reste la place sur le disque destination ?
flo850 si c pour stocker des masses de données , pourquoi tu utilise pas une base de données .
en plus les perfs seront améliorées
mario51

CARBON_14 a écrit a écrit :

La limite physique doit être celle du système d'allocation. Que ce soit du txt ou du bmp ou autre, c'est pareil.
 
Ce qui plante, c'est quoi ? A la lecture, ou à l'écriture des données ?
Quel est le nom de cette sympathique application ? BlocNote ?
 
Pour les fichiers texte, j'utilise PFE (Programmer File Editor), un freeware.
 
Dans le texte, y a pas de caractères non inscriptibles ?  




 
ca plante a l'ecriture des données et ca ecrit rien!
Si j'ecris seulement 100 lignes, ca va mais plus non!  
Ou puis trouver PFE et a quoi ca sert exactement?
 
merci

Carbon_14 La limite physique doit être celle du système d'allocation. Que ce soit du txt ou du bmp ou autre, c'est pareil.
 
Ce qui plante, c'est quoi ? A la lecture, ou à l'écriture des données ?
Quel est le nom de cette sympathique application ? BlocNote ?
 
Pour les fichiers texte, j'utilise PFE (Programmer File Editor), un freeware.
 
Dans le texte, y a pas de caractères non inscriptibles ?
mario51 Et ce que la taille s de fichiers txt est limité ?
 
J'ai plein de données a stocker ( environ 100 000 lignes) et ca plante lors de l'execution !!!
 
Y a t il un autre moyen de stocker avec acces rapide?
 
merci

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