Re: Saving data
CPlusPlus wrote:
On Apr 6, 12:07 pm, CPlusPlus <aamir.a...@live.com> wrote:
typedef struct dummy // global definition
{
char* p1;
char* p2;
}d;
d d1;
void foobar()
{
// allocate memory from heap
d1.p1 = (char*)malloc(strlen("hello"+1)*sizeof(char));
strcpy(d1.p1, "hello");
}
void main()
{
foobar();
printf("d1.p1 = %s\n", p1.d1); // PROBLEM: junk is printed.
free(d1.p1);
}
I think I know why junk is printed because when foo exits, p1 data
vanishes, i.e, goes out of scope. How can I fix this?
Bare with me, I started out on writing a C++ program in MS VS2005 but
C has me figuring it out.
Thanks
typo fix: printf("d1.p1 = %s\n", d1.p1); // PROBLEM: junk is
printed.
I don't know what your problem is. It works OK for me on DevC as a C++
program. Have to make it compile first: provide three missing includes,
change return type of main, fix typo you describe in your second post.
I hope you realize by now that Usenet people want *programs*, not fragments
of programs. Use copy and paste, don't retype.