Hello

tout est dans le titre:

le problème a la base ,c'est les nom de fichier, vu qu'on peux y mettre casiment tout et n'importe quoi... je vai tout convertir en format hexa, sa devrai alors plus poser de problème. seulment voila on dirait que c'est faux ...
voila un exemple:
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
 
#include <iostream>
#include <string>
#include <sstream>
#include <cstring>
#include <exception>
#include <iomanip>
using namespace std;
 
std::string toHex(const std::string& instr)
{
using namespace std;
ostringstream oss;
oss << hex << setw(2) << setfill('0');
for(string::const_iterator i = instr.begin(); i != instr.end(); ++i)
{
if(i != instr.begin())
{
oss << ":";
}
//oss << "0x" << static_cast<unsigned short>(*i);
oss << "" << static_cast<unsigned short>(*i);
}
return oss.str();
}
 
int main()
{
std::cout << toHex("Ma�anaDB.pdb (codage non valide)") << std::endl;
return 0;
}
j'obtien:
004d:61:ffef:ffbf:ffbd:61:6e:61:44:42:2e:70:64:62:20:28:63:6f:64:61:67:65:20:6e:6f:6e:20:76:61:6c:69:64:65:29
je me demande si la sortie est vraiment valable car:

004d:61:ffef:ffbf:ffbd
semble erronnée c'est lier aux caractère : ici j'ai l'impretion que apres le Ma sa pose souci si quelqu'un a une idée je suis preneur

Merci d'avance