Extraire le nom et le chemin d'un nom de fichier
Il est courant, lorsque l'on utilise des fichiers informatiques, qu'il faille extraire certaines partie des noms de fichier : renommer, accéder au sous-dossier, etc...
Extraire le nom
Si filename est le nom de fichier de type QString et name le nom du fichier :
nom=filename.section("/",-1,-1);
Extraire le chemin
chemin=filename.section("/",0,-2);
Extraire l'extension
ext=(".",-1,-1);
Remarques sur SECTION
la méthode SECTION permet d'extraire une sous chaîne d'une chaîne de type QString.
La chaîne est traitée comme une séquence de chaînes (des champs) séparées par le séparateur.
champ1<separateur>champ2<separateur>champ3<separateur>champ4
les paramètres sont
- le séparateur
- la position de début
- la position de fin
Pour les positions de début et de fin :
des valeurs positives correspondent à une scrutation de gauche vers la droite
des valeurs négatives, une scrutation de la droite vers la gauche.
Ainsi :
nom=filename.section("/",-1,-1);
le premier caractère de la sous chaîne sera le caractère le plus à droite (-1); le deuxième caractère serait -2, etc....
on s'arrête lorsque, en commençant par le dernier caractère on trouve le séparateur "\".
Si filename="D:/Programmation/QTCreator/inward/inward/nom.ext" le premier champ le plus à droite est nom.ext
De même
chemin=filename.section("/",0,-2);
La sous chaîne commence du champ le plus à gauche (0) et s'arrête à l'avant dernier champ ce qui exclus le nom du fichier.
Si filename="D:/Programmation/QTCreator/inward/inward/nom.ext" le premier champ le plus à gauche est d: et le deuxième le plus à droite est inward. Le résultation de SECTION donne donc "D:/Programmation/QTCreator/inward/inward