hello
il n'y a pas d'erreur sauf le résulta qui déconne ,je prend le plus flagrand:
seulment il y a 15 caractère ........ pas 19......le tableaux*Numéro d’inœud:*a une longueur de*19*find*18
désoler pour le ); mai sa deconne .... certainement chez moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef DEF_ME_INITIALIZE #define DEF_ME_INITIALIZE #include <string> #include <vector> class me_init { public: me_init(); std::vector<std::string> vec_lfr (); private: void mise_en_forme (std::vector<std::string> &vec_forme); }; #endif
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 #include "init.h" me_init::me_init(){} std::vector<std::string> me_init::vec_lfr () { std::vector<std::string> fr; fr.push_back("Bienvenue md5stat v. 0.0.2" );//0 fr.push_back("Type de fichier:périphérique bloc" ); fr.push_back("Type de fichier:périphérique caractère" ); fr.push_back("Type de fichier:répertoire" ); fr.push_back("Type de fichier:FIFO/tube" ); fr.push_back("Type de fichier:lien symbolique" ); fr.push_back("Type de fichier:fichier ordinaire" ); fr.push_back("Type de fichier:socket" ); fr.push_back("Type de fichier:inconnu" ); fr.push_back("Numéro dinud:" ); fr.push_back("Mode:" );//10 fr.push_back("Octal:" ); fr.push_back("Nombre de liens:" ); fr.push_back("Propriétaires:UID=" ); fr.push_back("Groupe:GID=" ); fr.push_back("Taille de bloc dE/S (Octets):" ); fr.push_back("" );//secteur disponible valeur effacée fr.push_back("Taille du fichier (Octets):" ); fr.push_back("Blocs alloués:" ); fr.push_back("Dernier changement détat:" ); fr.push_back("Dernier accès au fichier:" );//20 fr.push_back("Dernière modification du fichier:" ); fr.push_back("Opération terminée:" ); fr.push_back("Droit du propriétaire:" ); fr.push_back("Droit du groupe:" ); fr.push_back("Droit de tous:" ); fr.push_back("Droit sticky:" ); fr.push_back("Droit Set-UID:" ); fr.push_back("Droit Set-Gid:" ); fr.push_back("Droit final:" ); me_init::mise_en_forme(fr); return fr; } void me_init::mise_en_forme (std::vector<std::string> &vec_forme) { int maxl=0; int gauche=0; int droite=0; int add=0; int l_string=0; size_t found; found=vec_forme[9].find(":"); if (found!=std::string::npos) { std::cout << "le tableaux*" << vec_forme[9] << "*a une longueur de*" << vec_forme[9].size() << "*find*" << int(found) << std::endl; } //on repère la chaine la plus longue du tableau for (unsigned long i = 0; i != vec_forme.size(); ++i ) { found=vec_forme[i].find(":"); if (found!=std::string::npos) { if (l_string < int(found)) { l_string=int(found); } } found=0; } /*on s'aligne sure la chaine la plus longue et on modifie pour l'alignement de façons a ce ce la semble être 2 colonne ,a gauche =commentaire a droite les resulta * */ for (unsigned long i = 0; i != vec_forme.size(); ++i ) { found=vec_forme[i].find(":"); if (found!=std::string::npos) { maxl=vec_forme[i].size(); gauche=int(found); droite=gauche-maxl; add=l_string-gauche; std::cout << "le tableaux*" << vec_forme[i] << "*a une longueur de*" << vec_forme[i].size() << "*longeur max *"<< l_string << "*intfound*" << int(found) << "*calcule*" << add << std::endl; vec_forme[i].insert(vec_forme[i].begin()+gauche,add,'*'); maxl=0; gauche=0; droite=0; add=0; } else { std::cout << "ERREUR NO FOUND (:)"<< i << std::endl; } found=0; } }je ne vois pas a quoi est lier ce bug ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 fichier main: #include <iostream> #include <string> #include "init.cpp" int main()//(int argc, char *argv[]) { me_init c_init; std::vector<std::string> vec_main_fr; vec_main_fr=c_init.vec_lfr(); return 0; }
Partager