Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <monetary.h>
Link against: libc.lib

Typedef ssize_t

Interface status: externallyDefinedApi

typedef __ssize_t ssize_t;

Description

Used for a count of bytes or an error indication.

[Top]


strfmon(char *,size_t,const char *,...)

Interface status: externallyDefinedApi

IMPORT_C ssize_t strfmon(char *, size_t, const char *,...);

Description

 = f A ' = '
 character followed by another character f which is used as the numeric fill character.
 ^ Do not use grouping characters, regardless of the current locale default.
 + Represent positive values by prefixing them with a positive sign,
 and negative values by prefixing them with a negative sign.
 This is the default.
 ( Enclose negative values in parentheses.
 ! Do not include a currency symbol in the output.
 - Left justify the result.
 Only valid when a field width is specified.
 i The double
 argument is formatted as an international monetary amount.
 n The double
 argument is formatted as a national monetary amount.
 % A '%'
 character is written.

The strfmon function places characters into the array pointed to by s as controlled by the string pointed to by format . No more than maxsize bytes are placed into the array.

The format string is composed of zero or more directives: ordinary characters (not % ), which are copied unchanged to the output stream; and conversion specifications, each of which results in fetching zero or more subsequent arguments. Each conversion specification is introduced by the % character. After the % , the following appear in sequence: Zero or more of the following flags: = f A ' = ' character followed by another character f which is used as the numeric fill character. ^ Do not use grouping characters, regardless of the current locale default. + Represent positive values by prefixing them with a positive sign, and negative values by prefixing them with a negative sign. This is the default. ( Enclose negative values in parentheses. ! Do not include a currency symbol in the output. - Left justify the result. Only valid when a field width is specified. An optional minimum field width as a decimal number. By default, there is no minimum width. A ' # ' sign followed by a decimal number specifying the maximum expected number of digits after the radix character. A ' . ' character followed by a decimal number specifying the number the number of digits after the radix character. One of the following conversion specifiers: i The double argument is formatted as an international monetary amount. n The double argument is formatted as a national monetary amount. % A '%' character is written.

Examples:

#include <string.h>
#include <stdio.h>
#include <monetary.h>
int main()
{
    char buf[50];
    strfmon(buf, sizeof(buf), "[%^=*#6n] [%=*#6i]",1234.567, 1234.567);
    printf("%s
",buf);
}

Output

[ **1234.57] [ **1234.57]

Parameters

char *

size_tsize_t

const char *

...

Return value

ssize_tssize_t

If the total number of resulting bytes including the terminating NULL byte is not more than maxsize , strfmon returns the number of bytes placed into the array pointed to by s , not including the terminating NULL byte. Otherwise -1 is returned, the contents of the array are indeterminate and errno is set to indicate the error.

See also: