J'ai essayé ton code mais j'ai une erreur :
[C++ Erreur] Unit1.cpp(41): E2285 Impossible de trouver une correspondance pour 'string::basic_string(unsigned char *,unsigned int)'
 
 
				
				
						
							
							
						
						
				J'ai essayé ton code mais j'ai une erreur :
[C++ Erreur] Unit1.cpp(41): E2285 Impossible de trouver une correspondance pour 'string::basic_string(unsigned char *,unsigned int)'
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				essaye en faisant un cast :
static_cast ou reinterpret_cast
Vu l'heure, j'ai pas plus relu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout<< string(static_cast<unsigned char*>(any->asnValue.string.stream), any->asnValue.string.length).c_str()<< endl;
 
 
				
				
						
						
				Toujours la meme erreur ...'string::basic_string(unsigned char *,unsigned int)'essaye en faisant un cast :
static_cast ou reinterpret_cast
cout<< string(static_cast<unsigned char*>(any->asnValue.string.stream), any->asnValue.string.length).c_str()<< endl;
 
 
				
				
						
						
				Voici les différents constructeur de string (autrement dit de basic_string<char>) :
donc normalement, avec ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
cout<< string(static_cast<char*>(any->asnValue.string.stream), any->asnValue.string.length).c_str()<< endl;
ça devrait marcher.
 
 
				
				
						
						
				Cannot cas from 'unsigned char*' to 'char *'cout<< string(static_cast<char*>(any->asnValue.string.stream), any->asnValue.string.length).c_str()<< endl;
Je comprend vraiment pas comment fair :S
 
 
				
				
						
						
				Oui je viens d'essayer, sa compile bien, mais lors de l'execution, il ne ce passe rienreinterpret_cast à la place de static_cast (unsigned char et char sont considérés comme des types sans relation)
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				J'ai vient d'installé le service snmp sur mon PC pour voir de plus près le problème que tu rencontres, j'ai fait cette ébauche et émis une requête sur lui même, ben avec ce que je t'es indiqué précédemment ça fonctionne : Assure-toi juste que ton oid correspond à une chaine.
Après, bien sur, il faut tout virer aux profits de quelque chose de plus propre à base de ostringstream...
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
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
 
 
				
				
						
						
				Salut tout le monde
Merci pour ton essai minnesota, lorceque j'éssai ton code cher moi sur mon switch,Cette parti la du code fais planter le programme =s, et lorceque je le met en commentaire, la fonction SnmpUtilPrintAsnAny affiche bien la chaine, mais la fonction SnmpUtilPrintAsnAny2 n'affiche pas la chaine, je te joint une copie d'ecran de ma console.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
 
 
				
				
						
						
				J'éssai avec un entier qui represente le numéro de port, avec la fonction SnmpUtilPrintAsnAny de la bibligotheque j'affiche bien "interger32 34" alors qu'avec la fonction SnmpUtilPrintAsnAny2 de minnesota j'affiche "interger32 0". j'ai vraiment besoin de garder ce numéro de port en mémoire
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Essaye d'appeler SnmpUtilPrintAsnAny en dernier, il n'est pas impossible qu'il y ait eu une réinitialisation suite à son appel. Essaye aussi de faire le test depuis un autre PC à base de Windows XP par exemple. Comme il ne m'est pas possible de reproduire ton problème, je ne vois pas comment t'aider.
Essaie ceci et montre le résultat, sait-on jamais :
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
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
 
 
				
				
						
						
				Salut,
Je viens d'essayer ton morceau de code malheureusement, cela ne fonction pas.
Lorceque je l'execute, tout va bien, aucun code d'erreur mais lorceque j'arive sur
Le programme s'arrete.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
Pareil pour le test suivant, et pour SnmpUtilPrintAnsAny2.
Si je met tout en commentaire, ma chaine s'affiche bien avec SnmpUtilPrintAsnAny.
Je ne peux pas trop essayer sur un windows Xp, je vais essayer tt de suite ...
Voila si tu a une autre idée.Merci
 
 
				
				
						
						
				le probleme vien du faite que tout est a 0, je joint une copi d'ecran ou j'ai arreter le programme juste avant d'appeler SnmpUtilPrintAsnAny2 et ou j'inspect ma variable tout est a 0
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				C'est bizarre comme problème, mais comme je ne peux pas le reproduire, je ne vois pas trop. Tu peux éventuellement tester un utilitaire comme snmputil, sinon je peux aussi te filer la version compilée du programme pour tester histoire d'être sûr que c'est pas ton edi-rad qui est en cause...
 
 
				
				
						
						
				Ouai c'est vraiment bizzar. Je veux bien ta version compiler que j'essai sur mon environnement
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Y'a trois utilitaires différents, dont la version compilée.
 
 
				
				
						
						
				Dans le snmp_info, quand tu lance le getinfo.cmd, c'est avec le programme en c++ que tu m'a envoyer?? parceque cela marche très bien cher moi
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Oui, avec snmp_info.exe
 
 
				
				
						
						
							
						
				Tu peux m'envoyé le code source complet de ce programme stp, parceque cela marche
Partager