Solved

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

Posted on 2004-09-22
5
284 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

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will show you some of the more useful Standard Template Library (STL) algorithms through the use of working examples.  You will learn about how these algorithms fit into the STL architecture, how they work with STL containers, and why t…
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
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.

829 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