jdb@reef.cis.ufl.edu (Brian K. W. Hook) (02/14/91)
I just searched the FAQ for this one, but basically just look at the
example and see if you know of a way around this:
Basically, you can initialize an array with values, and you can't
re-initialize after declaration. However, if I wanted to put a string into
an array I could use strcpy(), but I want to fill in the entire array with
a predefined array: in effect:
char array[NUMBER][SIZE];
array[number]={ ...assorted values...};
How do I do this? I want different bitmasks for a cursor depending on what
the user does, but I can't seem to implement this very easily unless
I use:
char *mask;
mask=&array[0][0];
or
strcpy(mask,array[0]);
But this is a pain for certain things that I am doing. And I DEFINITELY
don't want to do:
array[0][0]=0x44;
array[0][1]=0x99;
etc. etc.
This is the way I do it right now since it offers some flexibility....but
it is SOOOOOOO ugly.
Brianbrowns@iccgcc.decnet.ab.com (Stan Brown) (02/16/91)
In article <26915@uflorida.cis.ufl.EDU>, jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes: > Basically, you can initialize an array with values, and you can't > re-initialize after declaration. However, if I wanted to put a string into > an array I could use strcpy(), but I want to fill in the entire array with > a predefined array: in effect: > char array[NUMBER][SIZE]; > array[number]={ ...assorted values...}; > How do I do this? I want different bitmasks for a cursor depending on what > the user does, but I can't seem to implement this very easily unless > I use: > char *mask; > mask=&array[0][0]; > or > strcpy(mask,array[0]); > But this is a pain for certain things that I am doing. And I DEFINITELY > don't want to do: > array[0][0]=0x44; > array[0][1]=0x99; > etc. etc. Use memcpy not strcpy: memcpy(array[n], mask, SIZE); will copy SIZE bytes from mask to array[n]. memcpy is declared in <string.h> Hey--this is all my opinion, nobody else's. Rely on it at your peril. "no yucky green things" email: browns@iccgcc.decnet.ab.com Stan Brown, Oak Road Systems, Cleveland, Ohio, USA +1 216 371 0043