2009-07-06 153 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);