Hello.
Here's my structure:
struct settings {
char setting[40][255];
};
Here's the function that is supposed to take a pointer to an instance of the above structure and modify it :
void changeSetting(struct settings *tempSettings, char *newValue, int indexValue)
{
if( indexValue<40){ // to avoid out of boundary problems
// according to the debugger, the program crashes in this line :
strcpy(tempSettings->setting[indexValue], newValue)};
}
Now, here is my main :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <main.h> //contains the struct + changeSetting function
int main()
{
struct settings MySettings;
changeSetting(&MySettings, "penguin", 0);
// supposetly the line above will assign "penguin" to MySettings.setting[0]
// but program crashes
return 0; // literally *sigh*
}
I've been debugging for about 13 hours now, not to mention Googling / looking in
mailinglists .
I think it's something to do with the last line in changeSetting function, but I can't point where exactly! Am I supposed to add brackets somewhere ? ( i.e. (*tempSettings)->etc ) or is the problem with me using "->" instead of "." to access the members ? or is it some problem / limitation with C pointers/structures/2D-arrays-in-structures ?
Any help / guidance would be appreciated =)
Thanks in advance,
Axel
P.S: forgot to mention, something identical to this was posted here 2 years ago by another user ( found it when I searched here ). Unfortunately, there was no answer =\
Link : http://www.daniweb.com/forums/thread28036.html