1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
void SupprimeTousLesCaracteres( string &Str, char C )
{
Str.erase(
remove( Str.begin(), Str.end(), C ),
Str.end() );
}
void changeCaractere (string &str )
{
string::size_type i = 0;
while ((i = str.find(",", 0)) != (string::npos))
str.replace(i, 1, ";" );
}
int Split(vector<string>& vecteur, string chaine, char separateur)
{
vecteur.clear();
string::size_type stTemp = chaine.find(separateur);
while(stTemp != string::npos)
{
vecteur.push_back(chaine.substr(0, stTemp));
chaine = chaine.substr(stTemp + 1);
stTemp = chaine.find(separateur);
}
vecteur.push_back(chaine);
return vecteur.size();
}
int main(int argc, char *argv[])
{
string tableau[1000][11];
char* tab[1000][11];
int i=0;
int a=0;
int nbTabl;
string mon_fichier = "test1.csv"; // je stocke dans la chaîne mon_fichier le nom du fichier à ouvrir
ifstream fichier(mon_fichier.c_str());
if(fichier) // si l'ouverture a réussi
{
string ligne;
while(getline(fichier, ligne))
{
i=i+1;//compte le nb de lignes
string test=ligne;
SupprimeTousLesCaracteres( test, '"' );
vector<string> VecStr;
nbTabl = Split(VecStr, test, ',');
a=a+1;
for(int d = 0; d < nbTabl; ++d)
{
//cout << d << " : " << VecStr[d]<<endl ;
tableau[a][d]=VecStr[d];
size_t size = tableau[a][d].size() + 1;
char * buffer = new char[ size ];
// copier la chaîne
strncpy( buffer, tableau[a][d].c_str(), size );
tab[a][d]=buffer;
cout<<a<<":"<<d<<": "<<tab[a][d]<<endl;
}
}
fichier.close(); // je referme le fichier
}
else // sinon
cerr << "Erreur à l'ouverture !" << endl;
system("PAUSE");
return EXIT_SUCCESS;
} |
Partager