Solved

Copy from CArray<sVector,sVector> to sVector *ArrayOfVectors

Posted on 2004-09-22
5
254 Views
Last Modified: 2010-04-01
Hi,
I have an sVector struct:

typedef t_Vector
{
        double Xcoord,
        double Ycoord,
        double Zcoord
}
and:


CArray<sVector,sVector>              TempVectorsArray;

sVector                                        *ArrayOfVectors;

I need to copy all the element from TempVectorsArray to ArrayOfVectors, but each time
when i get into the copy  i need to copy the data from the TempVectorsArray into a
different place on the ArrayOfVectors,for example:

for(int base_index =0 ; base_index<100; base_index++)
{
     // I need to change this line to the correct form - copy from TempVectorsArray to    
     // ArrayOfVectors[base_index]
     ArrayOfVectors[base_index] = TempVectorsArray;   //now it's error of course
}


Thanks a lot:-)
0
Comment
Question by:dani333
  • 3
5 Comments
 

Author Comment

by:dani333
ID: 12127957
the correct struct is of course :

typedef t_Vector
{
        double Xcoord,
        double Ycoord,
        double Zcoord
}sVector;

sorry for the mistake.
0
 
LVL 22

Accepted Solution

by:
NovaDenizen earned 120 total points
ID: 12128146
Something more like this?

int base_index;
...calc base_index here...
int len = TempVectorsArray.length();
int i;
for(i = 0; i < len; i++) {
    ArrayOfVectors[base_index + i] = TempVectorsArray[i];
}

This copies all elements from TempVectorsArray into a subrange of ArrayOfVectors starting at index base_index.  Make sure that ArrayOfVectors is allocated to be big enough to contain all elements of TempVectorsArray.

0
 

Author Comment

by:dani333
ID: 12128287
yes,but do you have another way without looping all the elements in the array?
with pointers , address or something like that?
0
 

Author Comment

by:dani333
ID: 12128380
Maybe memcpy or ather way....
0
 
LVL 9

Expert Comment

by:jhshukla
ID: 12129238
i would not suggest memcpy unless you are sure that sVectors are laid out in contiguous chunk of memory.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Templates For Beginners Or How To Encourage The Compiler To Work For You Introduction This tutorial is targeted at the reader who is, perhaps, familiar with the basics of C++ but would prefer a little slower introduction to the more ad…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now