begin process at 2012 02 10 02:51:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Listage xml uniquement des mp3 en C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Listage xml uniquement des mp3 en C++

mercredi 5 décembre 2007 à 21:23:14 | Listage xml uniquement des mp3 en C++

klitzounet

Bonsoir
J'ai ce code C++ qui sert à lister le contenu d'un dossier pour l'insérer dans une XML qui elle même servira dans un lecteur mp3 en flash. Il marche parfaitement mais j'aimerais y ajouter une fonction : ne lister que les fichiers mp3 ! je vous montre le code complet dites moi si vous avez une idée ^^


#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//fait la liste des fichiers d'un repertoire et l'enregistre dans un fichier xml
int main() {

 HANDLE hfind;
 WIN32_FIND_DATA wfd;
 char **tab; int i=0;
 

    char szAppPath[ MAX_PATH ] = "";
    char chemin[MAX_PATH] = "";
        
 //recherche du path du repertoire courant
    GetModuleFileName( 0, szAppPath, sizeof( szAppPath ) - 1 );
    printf("szapp  %s\n", szAppPath);
    //découpage de la partie qui nous intéresse (sans le nom listFiles.exe)
    for(i=0;i<strlen(szAppPath)-14;i++) {
            chemin[i] = szAppPath[i];
    }
    szAppPath[i] = '\0';
 
 //ouverture du fichier xml à editer
    FILE *f = fopen(strcat(chemin, "
\\listFiles.xml "), "w+"); 

    fprintf(f, "<database>\n");

 // Liste le contenu du répertoire
 hfind = FindFirstFile (strcat(strcpy(chemin, szAppPath), "
\\\\ *.* "), &wfd );
 if (hfind != INVALID_HANDLE_VALUE) {
  do{
              // vérifie si c'est un répertoire ou non
              if (!( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )) {
                     // supprime l'extension avec le "." (4 caractères)
                     char *P=wfd.cFileName;
                     while(*P!='\0')P++;
                     P-=4;
                     *P='\0';
                     // inscris la ligne d'indexation du fichier trouvé
                    fprintf(f, "\t<Index mylabel=\"%s\" mydata=\"media/.../%s.mp3\"></Index>\n", wfd.cFileName, wfd.cFileName);
              }
              i++;

  }while(FindNextFile( hfind, &wfd));
  FindClose(hfind);
 }

 fprintf(f, "</database>");


   //fermeture du fichier
   fclose(f);
  
   return 0;
}

Voila  (au passage merci beaucoup à Buno pour son aide dans la supression de l'extension des fichiers listés).
Merci d'avance

mercredi 5 décembre 2007 à 21:32:58 | Re : Listage xml uniquement des mp3 en C++

Neo_Fr

Membre Club
Réponse acceptée !
Salut,
Remplace simplement cette ligne:
hfind = FindFirstFile(strcat(strcpy(chemin, szAppPath), " \\\\ *.* "), &wfd );
par celle la:
hfind = FindFirstFile(strcat(strcpy(chemin, szAppPath), " \\\\ *.mp3"), &wfd );

Neo_Fr
mercredi 5 décembre 2007 à 21:43:49 | Re : Listage xml uniquement des mp3 en C++

klitzounet

Merci beaucoup je ne pouvais pas attendre meilleure réponse
C'était simple mais il fallait le voir ^^


Cette discussion est classée dans : xml, mp3, hfind, wfd, szapppath


Répondre à ce message

Sujets en rapport avec ce message

Suppression de caractères (extension) dans une chaine C++ [ par klitzounet ] Bonjour J'ai un code C++ qui fonctionne parfaitement (j'ai travaillé longtemps à partir d'une source -> je suis plutôt débutant, pour réussir à l'adap retour d'une fonction [ par noulii ] J'ai utilisé la fonction suivante, venant de "bruno" que j'ai trouvé sur ce site :HANDLE hfind;WIN32_FIND_DATA wfd;// Initialise la recherchehfind = F Tri de fichier dans repertoire selon type d'extension et une partie du nom connu [ par develdelphi ] Bonjour, J'ai un dossier qui contient des fichiers de type .txt et qui sont enregistrés avec un nom dans lequel figure la date et l'heure à la Problème de chemin d'accès [ par Mcdo ] J'ai fait un petit programme pour renommer tous les fichiers qui possèdent une extension donnée , en spécifiant le chemin et l'extension.Le pb c que c PB pour parcourir tout les dossiers [ par supers03 ] Bonjours à tousJ'ai écrit un programme qui parcour un dossier et ses sous-dossier, avec une fonction qui "s'auto appel" :void cherche(char *s){    HAN Fichier corbeille [ par akalys ] BonjourJ'aimerais afficher dans une listview les fichiers contenu dans la corbeille.Voici mon code :            HANDLE hfind;        WIN32_FIND_DATA w Xerces-C++ -- Validation XML par DTD [ par buno ] Hello les gens!Comment allez-vous? Les vacances d'hiver se sont bien passées?Si vous avez l'habitude d'utiliser Xerces comme parser XML, j'aurais beso Lire fichier Xml en C++ [ par Kimahri01 ] Bonjour,j'ai un fichier XML sous la forme :    blabla1    blabla2J'aimerais récupérer les informations "blabla1" et "blabl ouvrie un fichier [ par piboue ] Bonjour,je travail sur un projet de spectrographe (fichier MP3) en C utilisant SDL et Fmod. je cherche (sans trouver ...) une fonction ou un système m Récupérer le chemin d'un fichier en C++ [ par babyboo1107 ] Bonjour,Voila j'aimerai pouvoir récupérer différente informations sur un fichier et notement son chemin :Exemple: WIN32_FIND_DATA wfd;  HANDLE hFind=


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,966 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales