window_printf_at_c

	num_chars.i4.v = window_printf_at_c(window_id.i2.v, row.i4.v,
					    column.i4.v, format_string.i1a.r
					    [,value_1, value_2, ...])

	This routine emulates the action of printf in a TV window except
	that it gives the caller the ability to explicitly position the
	text within a window.  If the format string contains new line
	characters, subsequent lines of output will start at column
	"column". In addition to the standard printf conversion types, the
	format string can contain "%C" conversions which will change
	the color for subsequent output characters.  This type requires
	one integer argument whose value is a valid TV color.  The
	constants for these colors can be found in 'cnsparam'.  Note that
	the initial color is always WHITE.  There is an additional special
	conversion type supported which is "%F".  This type allows access
	to all of the site-specific conversion types provided by the
	routines numeric_to_ascii(_c).  This type requires a minimum of two
	arguments.  The first is an integer which contains the conversion
	type.  These constants can be found in 'cbslib'.  Please, see the
	help for numeric_to_ascii(_c) for further information on these
	types.  The second argument is the actual data.  The field width
	for a "%F" conversion can either be specified by an integer in
	the format string or by an asterisk operator.  If the asterisk
	operator is used, its value is the first argument with the
	conversion type being the second argument and the value being
	converted being the third argument.  There is no precision
	specification supported for "%F" conversions.  If the field width,
	is specified, that will determine the width of the corresponding
	field in the output.  A field width with a leading zero will result
	in padding the output with zeroes.  In addition to field width, the
	justification of an output field can be specified by inserting a
	minus character ('-') for left, a plus character ('+') for right,
	or a caret ('^') character for center justification.  The "%F"
	operator is most appropriate if used only with site-specific
	conversion types.  Another special format specifier available from
	this routine is "%P".  This allows the caller to specify that the
	output pointer be positioned to a particular character cell.  This
	type requires one integer argument which is the character cell number
	(starting at 1).  If the desired position is greater than the present
	position of the pointer, the interim characters will be filled with
	blanks.  This feature is useful for producing aligned output columns.
	Capitalization of text can be altered with the "%K" format specifier.
	This takes a single argument which indicates the desired character
	case for future output text.  The values for this argument are the
	same as those for the routine str_case_c.

	window_id	window ID (use WMNGR_BACKGROUND for background window)
	row, column	starting window coordinate location
			(1,1 is the location inside the upper left hand
			 corner of bordered windows)
	format_string	null terminated string which contains the
			characters to be written literally or converted
			as specified by the optional value arguments
	[value_1...]	optional values which correspond to conversion
			expressions in the format string

	This function returns status values as follows:

	CBS_NO_SUCH		requested window does not exist
	otherwise		number of characters output

	This function requires the following include files:

	cnsparam_h, cbslib_h, extchrset_h

	Related functions:

	window_printf_c, window_printf_noscroll_c, clib_printf, clib_fprintf,
	clib_sprintf, clib_sprintfx, clib_vsprintf, clib_vsprintfx,
	window_display_value(_c), numeric_to_ascii(_c),
	numeric_default_length_c, window_tvm(_c), window_write_line_c,
	window_enable_scroll_io_c, str_case_c

	C/C++ usage:

	static const char	format_string[] = "%CThe device name is %C%F%C.";
	short	window_id;
	int	num_chars;
	int	row = 1;
	int	column = 1;

	num_chars = window_printf_at_c(window_id,row,column,format_string,
				       CYAN,GREEN,CNV_DEVICE,27235,CYAN);