2013-06-06 2 views
0

У меня есть некоторые проблемы с этой проблемой; ( я не знаю, как добавить IMG к элементу массива CImage Я хочу, как эти операции делать ↓Как добавить все 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; 

Как его исправить? ; ((

ответ

0

image представляет собой массив элементов типа CImage, dirent::d_name имеет тип char …[256]

Те два не собираются вместе, я думаю, что вы хотите использовать что-то вроде

image[i].Load(dir->d_name); 

.. но это по-прежнему довольно плохой стиль. Вместо этого вы должны использовать std::vector<CImage> или std::list<CImage>.

Смежные вопросы