PDA

View Full Version : glPrint



nadia88
04-28-2010, 10:45 AM
hello
i have a graduation project on opengl
the program must draw lines on the screen then get charterers from a file and display them on the screen with the lines
i have wrote every part of the code and test it separately it work!
when i gather them the program stopped running
how can i make glprint read from a character variable
example:it work when i wrote

glPrint("a",...)
but if i wrote
char temp;
glPrint(&temp,..)

the screen is empty.
also i wrote glutdfunctiondiplay(display) in the end of the main to display the lines,but it haven't been executed because of the display list to keep the char on the screen,i wrote it in the display list code i gave compilation error!

please help me !

carsten neumann
04-28-2010, 04:18 PM
when you write "a" in your code you create a 'string literal' and one of the features of those is that the compiler will add the trailing '\0' character that terminates strings.

when you only have a char there is no terminating '\0' and your program is actually likely to crash because nothing stops glPrint from reading characters until it hits a '\0' somewhere in memory.

the reason the screen remains empty is probably because the variable temp in the above code is used uninitialized (you never assign a value) and it just happens to be set to 0 by chance.

to fix this you could use something like this:



char tmp[2];
tmp[1] = '\0'; // set string terminator

tmp[0] = // read character from your file

glPrint(tmp, ... );


for your other issue: i have no idea and unless you show (at least) the compiler error it may be hard to say what is wrong.