Array aus Zeiger auslesen
-
Hi, ich habe da ein kleines Problem:
int* Data = new int[100]; int* getData() { return Data; }
Wie könnte ich an den Array kommen? Das Problem ist, das ich memcopy() benutzen muss.
memcpy(neu, getData(), 100*sizeof(int));
Wennich es so mache, dann wrd ja einfach nur der Zeiger kopiert, und nicht der Array!
-
Code-Walker schrieb:
Hi, ich habe da ein kleines Problem:
Ja, ein wenig viel C vor den Augen... Warum nicht mit C++ Mitteln?
std::vector<int> Data; std::vector<int> getData() { return Data; }
Ansonsten könntest du deine Frage in das C-Forum stellen
-
Ein vector geht nicht, weil es ein Zeiger mit Array sein muss! Das ist halt das Problem. Könnte ein Mod dieses Topic in das C Forum verschieben?
-
Ich muss ein sternchen vor setzen ... xD
-
Code-Walker schrieb:
memcpy(neu, getData(), 100*sizeof(int));
Wennich es so mache, dann wrd ja einfach nur der Zeiger kopiert, und nicht der Array!
nein. das memcpy() kopiert sehr wohl den inhalt des arrays.
-
Code-Walker schrieb:
Ein vector geht nicht, weil es ein Zeiger mit Array sein muss! Das ist halt das Problem.
Ahja, mit anderen Worten du programmierst kein C++? Weil ein Vector durchaus an Schnittstellen übergeben werden kann die Arrays erwarten... Aber das Thema wurde schon häufig genug im Forum angesprochen.
cu André