printf


Output text in specified format to standard output stream

Remark

These functions are not supported by the debugging functions which CS+ provides.

[Classification]

Standard library

[Syntax]

#include <stdio.h>

int printf(const char *format[, arg, ...]);

[Return value]

The number of characters that were output is returned.

[Description]

This function applies the format specified by the string pointed to by format to the respective arg arguments, and outputs the formatted data that was output as a result to the standard input/output stdout. The method of specifying format is the same as described for the sprintf function. However, printf differs from sprintf in that no null character (\0) is output at the end.

[Caution]

Assigns one memory address (e.g. an I/O address) to stdout. To use stdout in conjunction with a debugger, you must initialize the stream structure defined in the stdio.h file. Initialize the structure before calling the function.

 

[Definition of stream structure in stdio.h]

typedef struct {
        int         mode;   /*with error descriptions*/
        unsigend    handle;
        int         unget_c;
} FILE;
typedef int     fpos_t;
 
extern  FILE*   _REL_stdin();
extern  FILE*   _REL_stdout();
extern  FILE*   _REL_stderr();
#define stdin   (_REL_stdin())
 
#define stdout  (_REL_stdout())
#define stderr  (_REL_stderr())

 

The first structure member, mode, indicates the I/O status and is internally defined as ACCSD_OUT/ADDSD_IN. The third member, unget_c, indicates the pushed-back character (stdin only) setting and is internally defined as -1.

When the definition is -1, it indicates that there is no pushed-back character. The second member, handle, indicates the I/O address. Set the value according to the debugger to be used.

 

[I/O address setting]

stdout->handle = 0xfffff000;
stderr->handle = 0x00fff000;
stdin->handle  = 0xfffff002;