2009-07-06 150 views
1

我在我的計算機上的圖像文件夾中有bmp圖像。我將它從1.bmp命名爲100.bmp。從C++文件中讀取圖像

我想讀一個接一個,這些hundered images.And我寫了這個代碼:

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); 
} 

和VS 2008中s=("C:\\images\\%d.bmp",i);了錯誤

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

你能幫助我嗎?

+0

這是本機C++代碼?託管還是非託管? – 2009-12-17 11:51:04

回答

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

這種說法是錯誤的。我不是在C#專家,但我認爲你可以做以下

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

我想你想:

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

我不這麼認爲,String.Format無法識別%d,因爲在標準c/C++函數中使用%d(即printf,sprintf..etc) – 2009-07-06 13:29:56

2

我不知道更多關於C++/CLI,但在C#中,你可以使用

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

我想在C++/CLI可能

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