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

  FORUM HardWare.fr
  Programmation
  C

  concaténer des fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

concaténer des fichiers

n°1339508
sandra771
Posté le 05-04-2006 à 11:30:44  profilanswer
 

Bonjour,
Je voudrais concaténer des fichiers commençant par le même préfixe contenu dans un même répertoire. Pour exemple, soit le répertoire noté REP qui contient les fichiers ASCII suivants:
fichier_LO_P_20040510_005719.SPR (ou "20040510_005719" représente la date 2004/05/10 00:57:19)
fichier_LO_P_20040510_005727.SPR
fichier_LO_P_20040510_010340.SPR
fichier_LO_L_20040510_005719.SPR
fichier_LO_L_20040510_005727.SPR
Sur cet exemple, je voudrais concaténer (par date croissante) les fichiers commençant par "fichier_LO_P_" dans un fichier unique. (idem pour les fichiers commençant par "fichier_LO_L_" ).
 
Il existe bien en C la fonction cat pour concaténer des fichiers ou des chaines, mais seulement deux fichiers par deux. J'ai pensé à faire une boucle; mais peut-être auriez-vous une meilleure idée à me suggérer avant que je me lance dans une quantité de lignes de code!
Merci d'avance
Sandra
 
Remarque: il est possible que le répertoire contient lors d'une prochaine exécution des fichiers commençant par "fichier_SUM_P_" au lieu du "LO" de l'exemple précédent. Autrement dit, il faut que ma concaténation puisse fonctionner pour des extentions du type "fichier_XX_P_" ou "fichier_XXX_P_" .

mood
Publicité
Posté le 05-04-2006 à 11:30:44  profilanswer
 

n°1339528
franceso
Posté le 05-04-2006 à 11:47:26  profilanswer
 

Bonjour :hello:
 

Citation :

Il existe bien en C la fonction cat pour concaténer des fichiers ou des chaines, mais seulement deux fichiers par deux.


En C, il existe strcat() qui concatène une chaîne de caractères au bout d'une autre.
 
cat est plutôt une commande du shell. A mon avis, le langage C n'est pas très indiqué pour ce que tu veux faire, et tu devrais plutôt t'orienter vers un script shell (ou batch ; c'est quoi ton système ?)
sous linux, l'opération que tu décris peut normalement se faire en un simple ligne de commande :

cat fichier_LO_P_*.SPR > fichier_concatene.SPR


Est-ce que ça répond à ta question ?


---------------
TriScale innov
n°1339535
sandra771
Posté le 05-04-2006 à 11:57:33  profilanswer
 

Oui. C'est bien ce qu'il me semblait, qu'on ne pouvait pas faire ça en C.
Je vais chercher une autre solution
Merci!

n°1339547
Elmoricq
Modérateur
Posté le 05-04-2006 à 12:07:54  profilanswer
 

sandra771 a écrit :

Oui. C'est bien ce qu'il me semblait, qu'on ne pouvait pas faire ça en C.


 
Si.
 
Il faut parcourir le répertoire à la recherche des fichiers à concaténer, ouvrir chaque fichier, et en écrire le contenu en sortie (un nom de fichier précisé en paramètre ou sur le flux de sortie standard).
 
C'est ce que fait "cat", hein. Cet utilitaire n'est pas sorti de la cuisse de Jupiter, il a été écrit... en C.
 
Maintenant, le faire en C est une perte de temps dans la mesure où il y a des outils qui effectuent très bien cette opération basique : "cat" sous unixoïdes, "type" sous DOS/Windows.


Message édité par Elmoricq le 05-04-2006 à 12:08:03

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

  concaténer des fichiers

 

Sujets relatifs
Les fichiersComment transmettre des fichiers en XmlHttpRequest ? ? ?
sauvegarder des fichiers à l'aide d'un script ? besoin d'aideTransfert de fichiers
Ajouter extension de plusieurs fichiers en batchInteret des fichiers .h
Programme de récupération de fichiers éffacésExplorateur de fichiers en java
Concatener 2 fichiersCOMMENT CONCATENER PLUSIEURS FICHIERS TXT
Plus de sujets relatifs à : concaténer des fichiers


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