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

  FORUM HardWare.fr
  Programmation
  C

  Quelques problèmes de fichiers + chemins d'accès

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Quelques problèmes de fichiers + chemins d'accès

n°1620815
Sinner
Trapped Inside This Octavarium
Posté le 09-10-2007 à 09:33:01  profilanswer
 

Bonjour,
 
J'ai codé un petit programme dont voici le principe :
1/ Il ouvre un fichier avec plein de données
2/ Il prend les 2000 premières lignes du fichier, les copie dans un fichier 01_DOS. Ensuite il prend les 20 prochaines, les copies dans 02_DOS, etc. jusqu'à ce qu'il arrive à la fin du fichier.
 
Actuellement, j'ai en gros 110.000 lignes dans le fichier source, il crée donc 96 fichiers, tous appelés 01_DOS, 02_DOS, ..., 96_DOS.
 
Voici les quelques lignes de code que j'ai utilisé pour créer ces fichiers :
 

Code :
  1. snprintf(dosFilePath, LONG, "%d", atomCount) ; //atomCount est juste un compteur qui s'incrémente de 1 en 1.
  2. strcat(dosFilePath, "_DOS" ) ;


 
Donc en gros, supposons que atomCount = 1, la première commande me permet d'avoir dosFilePath = "1" puis ensuite avec la concaténation "1_DOS".
 
Ensuite j'ouvre le fichier de cette façon :
 

Code :
  1. fopen(dosFilePath, "a" ) ;


 
A priori, on peut penser que ça fonctionne bien, mais moi j'aimerais plutôt avoir des fichiers de la forme : DOS_01, DOS_02, ..., DOS_96.
 
Seulement, avec la commande strcat, beh le terme que je rajoute doit être une constante. Donc je peux pas le modifier pour que ce soit un coup 1, puis 2, puis 3, etc.
 
Quelqu'un aurait une alternative au strcat ?
 
Merci d'avance !

mood
Publicité
Posté le 09-10-2007 à 09:33:01  profilanswer
 

n°1620818
Joel F
Real men use unique_ptr
Posté le 09-10-2007 à 09:34:30  profilanswer
 

sprintf

n°1620878
Sinner
Trapped Inside This Octavarium
Posté le 09-10-2007 à 10:34:35  profilanswer
 

Euh oui en effet...
 
Je me compliquais la vie pour rien là.
 
Merci beaucoup.
 
Une autre question au passage : J'utilise la commande mkdir pour créer un répertoire.
 
Sauf que je ne comprends pas très bien comment fonctionne le second argument :
Lorsque je mets :

Code :
  1. mkdir("DOS_FILES" )


Il me crée un répertoire mais je n'ai pas les droits d'accès pour y écrire.
 
Lorsque je mets :

Code :
  1. mkdir("DOS_FILES", 755)


Il me fait un truc chelou que je ne comprends pas...
 
Edit : En fait c'était la grosse feinte. Il fallait préciser les droits en "octal", donc mettre un zéro devant :

Code :
  1. mkdir("DOS_FILES", 0755)


Là ça marche.

Message cité 1 fois
Message édité par Sinner le 09-10-2007 à 11:33:50
n°1620985
matafan
Posté le 09-10-2007 à 13:08:59  profilanswer
 

En fait ce que tu fais c'est la commande "split", non ?

n°1623167
Sve@r
Posté le 12-10-2007 à 18:33:21  profilanswer
 

Sinner a écrit :

Edit : En fait c'était la grosse feinte. Il fallait préciser les droits en "octal", donc mettre un zéro devant :

Code :
  1. mkdir("DOS_FILES", 0755)


Là ça marche.


Eh oui, c'est bien pour ça qu'on parle de droits "octal" dans le chmod...
 
Pour info, ton truc "chelou", sous Unix, devrait donner les droits -wxrw--wt (valeur 1363 correspondant à 755 converti en octal)


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Quelques problèmes de fichiers + chemins d'accès

 

Sujets relatifs
Lire données EXIF de fichiers dans un répertoireTagger des fichiers mp3 ou vidéo avec une licence Creative Commons
fichiers .bas .batPassage d'une base .DB en excel ou en acces
Recuperer fichiers sur forum oleoo[Applet signée et Permission]AccessControlException pour l'acces local
[PHP] Noms de fichiers avec des caractères japonaisModifier les associations de fichiers par le code ?
copie de fichiers vers dossiers en fonction du nom de fichier 
Plus de sujets relatifs à : Quelques problèmes de fichiers + chemins d'accès


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR