Source Code File 05-04_ctitle
05-04_ctitle.c
#include <ncurses.h>
#include <string.h>
void center(int row, char *title)
{
int len,indent,y,width;
/* get screen width */
getmaxyx(stdscr,y,width);
/* get title length */
len = strlen(title);
/* calculate indent */
indent = (width - len)/2;
/* show the string */
mvaddstr(row,indent,title);
refresh();
}
int main()
{
initscr();
center(1, "Penguin Soccer Finals");
center(5, "Cattle Dung Samples from Temecula");
center(7, "Catatonic Theater");
center(9, "Why Do Ions Hate Each Other?");
getch();
endwin();
return 0;
}
Output Screenshot

Notes
* Don't know why I skipped a row 3 title.
* A warning may appear after compiling, showing that variable y is unused. There's no way around this warning, as the variable is required by the getmaxyx() function. It doesn't present a problem.
Copyright © 1997-2025 by QPBC.
All rights reserved
