Code:
#include <string.h>
#include <ncurses.h>
#include <time.h>
#include <stdlib.h>
typedef struct builder{
int locX;
int locY;
char charValue_H;
char charValue_T;
char *charArray_B;
} sbuilder;
void drawborders();
void initialize(sbuilder *stopass);
bool collisiondetection();
int main()
{
initscr();
noecho();
cbreak();
sbuilder ss, *ptss;
ptss = NULL;
ptss = (sbuilder *) malloc (sizeof(sbuilder));
initialize(ptss);
initialize(&ss);
mvprintw(10,10, "string is %s and %s", ss.charArray_B, ptss->charArray_B); //incorrect
getch();
refresh();
endwin();
return 0;
}
void initialize(sbuilder *s)
{
//initial location
s->locY = LINES/2;
s->locX = COLS/2;
s->charValue_H = 'H';
s->charValue_T = 'T';
int i;
char s_initial[4];
for (i = 0; i <= (sizeof(s_initial)-3); i++) //last loc is /0
{
s_initial[i] = s->charValue_T;
}
s_initial[i] = s->charValue_H;
s->charArray_B = s_initial;
mvprintw(1,1, "string is %s", s->charArray_B); //correct
}
Incorrect: weird symbols
Also, I wanted that function to return a struct, but i had similar problems.
Any hints, please?
Comment