У меня есть проблемы с этой проблемой; (
Я не знаю, как добавить img к элементу массива CImage.
Я хочу, чтобы эти операции делали. ↓
image[0].Load(_T("./data/notice.bmp"));
image[1].Load(_T("./data/11.bmp"));
image[2].Load(_T("./data/22.bmp"));
image[3].Load(_T("./data/13.bmp"));
image[4].Load(_T("./data/25.bmp"));
image[5].Load(_T("./data/7.bmp"));
image[6].Load(_T("./data/16.bmp"));
image[7].Load(_T("./data/20.bmp"));
image[8].Load(_T("./data/18.bmp"));
image[9].Load(_T("./data/3.bmp"));
image[10].Load(_T("./data/8.bmp"));
Я хочу добавить bmp-файлы в массив CImage с именем image!
Я думаю, может быть, есть какой-то способ сделать это сразу. : 0
Я нашел ‘dirent.h’ в Google.
Но я не знаю, как правильно использовать это, чтобы делать свою работу ..; (
DIR *d;
struct dirent *dir;
CImage image[MAX_IMAGE];
d = opendir("./data/");
int i=0;
if(d)
{
while ((dir = readdir(d)) != NULL)
{
i++;
image[i] = *dir->d_name;
}
closedir(d);
}
Там происходят некоторые ошибки
image[i] = *dir->d_name;
Как это исправить? ; ((
image
это массив элементов типа CImage
, dirent::d_name
имеет тип char …[256]
,
Эти двое не собираются вместе. Я думаю, что вы хотите использовать что-то вроде
image[i].Load(dir->d_name);
но это все еще довольно плохой стиль. Вы должны использовать std::vector<CImage>
или std::list<CImage>
вместо.
Других решений пока нет …