Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

turtlemancanada

C Question

This topic is 5333 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement
you could:
use strlen() to obtain the length of the string. taken you know the width of the screen (in characters. usually 85 I think), you can calculate the number of whitespaces before the text to center it on screen.

you could then, either add whitespaces to your string (or a new string) and print them, or
depending on what platform you're developing on, set the position of the text manually.
in good old c/c++ you had gotoXY(), but in for example Visual C++ this is removed..
In windows, everything is a window .. so you'll have to use some windows function to set the position.
Here are some wrapper functions I wrote way back:

void setXY( COORD coords) {
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coords);
}


COORD getXY() {
CONSOLE_SCREEN_BUFFER_INFO tempInfo;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &tempInfo);
return tempInfo.dwCursorPosition;
}


[edited by - BiTwhise on January 13, 2004 2:20:02 PM]

Share this post


Link to post
Share on other sites
assuming that the string you are printing is less than the width of the screen:

#define SCREEN_WIDTH 80 /* change if not correct */

f(char *p)
{
char buf[SCREEN_WIDTH+1] = "\0";
int i, n, half_n, width_half;
n = strlen(p);
half_n = n / 2;
width_half = SCREEN_WIDTH / 2;
for (i = 0; i < width_half - half_n; i++)
buf = '' '';
buf[i] = ''\0'';
strcat(buf, p);
printf("%s\n", p);
}

I didn''t test this code, but something like this should work

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!