input

  1. long getch()

    Returns the next available character, or EOF if no character is available. This character is not echoed thru the output vector. This input is not buffered.

  2. long getche()

    Returns the next available character, or EOF if no character is available. This character is echoed thru output vector. For this reason, set_putchar_vector() must be used prior any use of getche(). This input is not buffered.

  3. long getchar()

    Returns the next available character, or EOF if no character is available. This character is echoed thru output vector. This input is buffered. (See ungetchar()). The input buffer is 80 bytes long, but this can be easily changed at source code level.

    All «high level» functions such as scanf() or gets() use getchar() as low level input function.

    Notice that (like getch() or getche()) this function returns a long, so all values ranging from 0 to 255 can be returned.

  4. unsigned int fillbuf(char p[],unsigned int nmax, int *eof_flag)

    This function is used to fill the input buffer when it is empty. p points to this buffer, which can contains up to nmax characters. This function stops reading when the buffer is full (nmax characters) or when the '\n' character is encountered.

    fillbuf returns the number of character stored in the input buffer, including the '\n' terminator, but excluding the '\0' trailer.

    As a side effect, eof_flag is set to 1 when end-of-file condition is reached, and 0 if not.

    fillbuf interprets the Backspace character, so it provides a primitive but useful line editing capability.

  5. char *gets(char *t)

    Read input characters until '\n' is encountered, and store them into buffer pointed to by p. Terminating '\n' is not stored into buffer. Always return t.

  6. int getlong(long *pn,int base);

    Reads a signed long integer in base base, and store it at location pointed to by pn. Returns 1 if successful, else 0.

  7. int getlong32(long long *pn,int base);

    Reads a signed long long integer in base base, and store it at location pointed to by pn. Returns 1 if successful, else 0.

  8. int getfloat(float *pf);

    Reads a float number, and store it in the variable pointed to by pf.

    This function returns the number of digits of the number (ie: returning 0 means that the input has failed).

  9. int scanf(const char *fmt, ... ) ;

    Mini implementation of scanf() function. Recognized format specifications are :
    %c %s %d %u %x %ld %lu %lx %lld %llu %llx %f

    This function returns the number of conversion specifiers successfully processed.

  10. int RFscanf(ROMF_i8_t fmt, ... ) ;

    Version of scanf() receiving its format string thru a rom accessor. Please see section 9.7 for details about data located in ROM.

    This function returns the number of conversion specifiers successfully processed.

AG 2013-04-10