Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 303
  • Last Modified:

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

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
dani333
Asked:
dani333
  • 3
1 Solution
 
dani333Author Commented:
the correct struct is of course :

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

sorry for the mistake.
0
 
NovaDenizenCommented:
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
 
dani333Author Commented:
yes,but do you have another way without looping all the elements in the array?
with pointers , address or something like that?
0
 
dani333Author Commented:
Maybe memcpy or ather way....
0
 
jhshuklaCommented:
i would not suggest memcpy unless you are sure that sVectors are laid out in contiguous chunk of memory.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now