Bonjour,
Je dois chercher une chaîne de 9 caractères dans un fichier CSV et en fonction de cette chaîne, déplacer le fichier dans une répertoire qui contient cette chaîne.
(tri d'un fichier par rapport au numéro de série qui s'y trouve).
Voilà comment j'ai fait.
J'ai mis mon fichier dans un QByteArray,
J'ai compté le nombre de séparateurs existants et lu les 9 prochains caractères.
Maintenant je sais pas si je peux soit chercher directement dans le fichier la chaîne de 9 caractères ou chercher la chaîne de 9 caractères dans le QByteArray ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 QByteArray tableau; for(uint i=0; i<csvFileDir.count(); i++) { QString path = csvFileDir.path().append("/"); path.append(csvFileDir.entryList().at(i)); QFile* file = new QFile(path); if( file->open( QIODevice::ReadOnly ) ) { tableau = file->readAll(); file->close(); // done with file } unsigned long index = 0; unsigned long nbSplit = 0; do { if(tableau.at(index) == ';') nbSplit++; index++; } while(nbSplit < (ulong)NB_SEPARATOR && index < (ulong)tableau.size()); QString fid; for(uint x=0; x<9; x++) fid.append(tableau.at(index++)); fidList.append(fid); } ui->CSV_list->addItems(fidList);
Partager