Bonjour,
J'ai un code qui lit un fichier inspiré du XML et qui contient une fonction nettoyant ses lignes.
Cette fonction supprime :
- les espaces en trop aux 2 extrémités de la ligne
- un éventuel signe '/' en fin de ligne (après nettoyage des espaces) pour les données de type path de dossiers
Cela fonctionne bien, mais je voudrais utiliser substr à la place de 3 lignes de codes qui construisent la string nettoyée.
Avec la version substr(), cette fonction génère une erreur de lecture sur les lignes non précédées d'espaces, en n'affichant pas le dernier caractère '>' de ces lignes (lignes 1,5,7,14 ci-dessous), et n'enlève pas le dernier '/' du path s'il en contient un (ligne 9).
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
Fichier enregistré en UTF-8 :
Affichage avec le code actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14<scan_options> < autres balises.... > </scan_options> <directories> <path> /home/user/dossier testé/ < autres balises.... > </path> </directories>
Affichage avec le code substr() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
Le fichier lu est en enregistré en UTF-8. Je me suis demandé si là n'était pas le problème, mais en l'enregistrant en latin-1, cela ne change rien pour les lignes sans espace au début ou le problème du '/', avec en plus des problèmes de reconnaissance de caractères sur les chemins de fichiers en caractères accentués...
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
Un problème dans mon code avec mes variables int begin ou int end?

 

 
		
		 
         
 

 
			
			


 
   
 


 Problème avec string::substr()
 Problème avec string::substr()
				 Répondre avec citation
  Répondre avec citation


 
 
 J'ai effectivement manqué ce petit "détail" dans la doc
 J'ai effectivement manqué ce petit "détail" dans la doc 

 Envoyé par spirzouf
 Envoyé par spirzouf
					
Partager