Also wenn Du mit einem C Array arbeiten möchtest, musst Du mit speicherallozierenden Aufrufen arbeiten, beispielsweise mit malloc(). Das ist allerdings, gerade für Anfänger, fehleranfällig.
Da Du C++ einsetzen möchtest, würde ich Dir, statt zu einem Array eher zu einem std::vector raten, das ist sozusagen ein dynamisches Array und bietet Dir zahlreiche Funktionen. Folgendes Beispiel illustriert die Verwendung für Dein Beispiel:
Code:
#include <vector>
#include <string>
#include <iostream>
struct Images {
std::string FilePath;
};
int main()
{
std::vector<Images> Imagelist(10);
for(unsigned int i = 0; i < Imagelist.size(); ++i)
Imagelist.at(i).FilePath = "TestWert";
std::cout << Imagelist.at(4).FilePath << std::endl;
std::cout << "max_size(): " << Imagelist.max_size() << std::endl;
std::cout << "size(): " << Imagelist.size() << std::endl;
std::cout << "capacity(): " << Imagelist.capacity() << std::endl;
Imagelist.resize(20);
std::cout << "max_size(): " << Imagelist.max_size() << std::endl;
std::cout << "size(): " << Imagelist.size() << std::endl;
std::cout << "capacity(): " << Imagelist.capacity() << std::endl;
return 0;
}
Mit
size() kann man die Anzahl der Elemente eines Vektors erfragen,
empty() fragt ab, ob der Vektor leer ist,
max_size() gibt die maximal möglichen Elemente zurück,
capacity() die maximale Größe bis eine Reallozierung stattfinden muss (mit
reserve() kann man sich schon im Vorfeld Speicher besorgen).
Zum Einfügen neuer Elemente kann man entweder mit
insert() arbeiten, oder den »subscript operator«
[ ] wie bei einem Array einsetzen, oder Funktionen wie
push_back(),
push_front(), oder -- was ich hier sehr geschickt finde,
at(), da die letzte Funktion eine Exception wirft, falls man ausserhalb des gültigen Bereichs liegt.
Ferner würde ich Dir empfehlen, statt des proprietären AnsiString nach Möglichkeit den Standard string »std::string« zu benutzen -- so machst Du Deine Programme portabler und gewöhnst Dich schneller um, falls Du mal andere Übersetzer oder Plattformen benutzen sollst.
Und dann solltest Du Dich mal mit den ganzen Funktionen der STL vertraut machen. Sehr zu empfehlen ist das (englischsprachige) buch von Nicolai M. Josuttis (war im Standardisierungsgremium dabei) »The C++ Standard Library«. Im Web gibt es auch
http://www.cppreference.com
HTH,
Martin