Bonsoir,
Voila j'avai écrit un bout de code tout con qui remplace une string contenant"expected" par "resulted".
ma fonction marchait bien, mais ce matin je me suis aperçu que ma fonction ne donnait plus le résultat attendu![]()
un bout de code pour mieu comprendre le probléme
la fonction remplace bien le expected par resulted sauf pour le 3 éme cas et je ne vois pa pourquoi ?
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 #include <iostream> using namespace std; /* s est toujours de taille 8 */ void replace_expected(string s) { cout << " string before replace :" << s << endl; cout << " size before replace :" <<s.size() << endl; size_t pos = s.find("expected"); size_t end_pos = 8 ; s.replace(pos, pos+end_pos, "resulted"); cout << " string after replace : " << s << endl; cout << " size string after replace :" <<s.size() << endl <<endl; } int main(int argc, char **argv) { string a = "expected.tar.gz" ; string b = "expected_0_0_0.tar.gz" ; string c = "name_expected_0_0_0.tar.gz"; replace_expected(a); replace_expected(b); replace_expected(c); return 0; }
voici le résultat d'execution du prog :
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 string before replace :expected.tar.gz size before replace :15 string after replace : resulted.tar.gz size string after replace :15 string before replace :expected_0_0_0.tar.gz size before replace :21 string after replace : resulted_0_0_0.tar.gz size string after replace :21 /* cas qui foire -_- */ string before replace :name_expected_0_0_0.tar.gz size before replace :26 string after replace : name_resulted0.tar.gz size string after replace :21
Partager