2009-07-06 9 views
1

Ich habe bmp Bilder im Bildordner auf meinem Computer. Ich benannte es von 1.bmp zu 100.bmp.Lesen von Bildern aus einer Datei in C++

Ich möchte eins nach dem anderen diese hundered images.And ich diesen Code geschrieben lesen:

int i; 
System::String^s; 

for(i=1;i<=100;i++) 
{ 
s=("C:\\images\\%d.bmp",i); 
System::Drawing::Bitmap^ image; 
image= gcnew System::Drawing::Bitmap(s,true); 
} 

Und VS 2008 gab Fehler

error C2440: '=' : cannot convert from 'int' to 'System::String ^' 

Könnten Sie mir in s=("C:\\images\\%d.bmp",i); bitte helfen?

+0

dies ist nativer C++ Code? Verwaltet oder nicht verwaltet? –

Antwort

0
s=("C:\\images\\%d.bmp",i); 

Diese Aussage ist falsch. Ich bin kein Experte in C#, aber ich denke, man kann

s= "C:\\images\\" + i + ".bmp"; 
2

Sie folgende Ich glaube, Sie wollen:

s=String::Format("C:\\images\\{0}.bmp",i); 
+0

Ich glaube nicht, String.Format kann% d nicht erkennen, da% d in Standard-C/C++ - Funktionen verwendet wird (z. B. printf, sprintf..etc) –

+0

Ja, ich denke, Sie haben Recht. Ich habe es repariert. – Eric

2

Ich weiß nicht viel mehr über C++/CLI, aber in C# können Sie verwenden

s = String.Format("C:\\images\\{0}.bmp",i); 

denke ich, in C++/cli

sein kann
s = String::Format("C:\\images\\{0}.bmp",i);