Interpreter un fichier

972apprenti Messages postés 18 Date d'inscription samedi 30 janvier 2010 Statut Membre Dernière intervention 24 octobre 2011 - 11 janv. 2011 à 20:47
972apprenti Messages postés 18 Date d'inscription samedi 30 janvier 2010 Statut Membre Dernière intervention 24 octobre 2011 - 14 janv. 2011 à 21:47
Bonjour tout le monde,
je suis en train de développer une application en c++ qui va lire et inserer dans une base de donnée créer avec access des musiques d'un fichier excell .csv(chacune etant séparé par des point virgule lorsqu'on l'ouvre par blocknote),
je sais lire le fichier et ecrire dedans,
mais le probleme est que je ne sais pas comment dire au logiciel quelles infos inserer dans quelles colonnes d'une table, car je ne sais pas comment le faire distinguer les point virgules des autres caractères,
est ce qu'il existe une fonction qui permet de rechercher un caractere comme un point virgule?
par la suite je dirai au logiciel d'inserer dans la base les caractere se situant avant ce point virgule mais la encore je suis bloqué car je ne sais même pas comment me connecter a une base, s'il vous plait est ce que quelqu'un peut m'aidez?

4 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
12 janv. 2011 à 00:11
salut,

strchr()

@++
0
972apprenti Messages postés 18 Date d'inscription samedi 30 janvier 2010 Statut Membre Dernière intervention 24 octobre 2011
12 janv. 2011 à 14:07
Merci, mais malheureusement, je suis bloquer avec cette fonction, car je que la lecture de chaque ligne s'arrete lorsque le point virgule est trouver, puis que la la portion lu soit inserer dans la base, que la lecture reprenne et ainsi de suite pour chaque ligne.
Je suisen train de devenir dingue, a chercher l'algo adequat.
0
972apprenti Messages postés 18 Date d'inscription samedi 30 janvier 2010 Statut Membre Dernière intervention 24 octobre 2011
12 janv. 2011 à 14:32
Est ce qu'il existe une fonction qui donne l'emplacemnt d'un caratere dans la chaine, connaissant l'emplacemnt de ce caractere je vais utiliser une autre qui permet de copier la partie allant du debut de la chaine au caractere, et l'inserer dans la base?
0
972apprenti Messages postés 18 Date d'inscription samedi 30 janvier 2010 Statut Membre Dernière intervention 24 octobre 2011
14 janv. 2011 à 21:47
J'ai trouver comment faire le parseur, voici le code:
#include<conio.h>
#include 
#include <fstream>
#include <string>
#include <limits>  // pour utiliser numeric_limits::max()


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
using namespace std;
 
int main()
{
    char	*pointeur;
    char	*separateur = { ";" };     // Le séparateur
    char    *buffer;
        
        
        ifstream fichier("Playlist.csv", ios::in);
 
        if(!fichier.fail())
        {
                
 
                string ligne;
                while(getline(fichier, ligne))
                {
                        int     nb_mot=1;
                        size_t size = ligne.size() + 1;
                        char * tampon = new char[ size ];
                        // copier la chaîne
                        strncpy( tampon, ligne.c_str(), size );
                        buffer = strdup ( tampon );
                        // premier appel,
                        pointeur = strtok( buffer, separateur  );
                        printf (" Mot de la phrase numero : %d %s\n",nb_mot, pointeur);
                        	    
                        while( pointeur != NULL ) 
                        {
                        // Cherche les autres separateur
                        pointeur = strtok( NULL, separateur  );
                        if ( pointeur != NULL )
                        {
                        nb_mot++; // increment du nombre de mot	
                        printf ("Mot de la phrase numero : %d %s\n",nb_mot, pointeur);
                        }
                        }

                       	    
                        
                }
                        
               
                fichier.close();        
        }
        else
                cerr << "Impossible d'ouvrir le fichier !" << endl;
 
        getchar();
}


Parcontre je ne connais pas le code pour inserer dans une base de donnée, toute aide est la bienvenue.
0
Rejoignez-nous