VgaGames4 - miscellaneous man-pages

[.. upper level ..]

vg4->misc->utf8_next()

Find next UTF8-character in an UTF8-string.

SYNTAX
int vg4->misc->utf8_next(const char *string, size_t size, int *codept)

FUNCTION PARAMETERS
string String
size Number of bytes in string
codept For returning Unicode-codepoint of found UTF8-character, if not NULL

RETURN VALUE
Returns integer: - >0: of how many bytes UTF8-character consists - 0: end of string - -1: invalid character found

DESCRIPTION
Find next UTF8-character in an UTF8-string.

EXAMPLE
/* show characters of cstring */
const char *cstring = "Wörd";
const char *strptr;
size_t strsize;
int no_bytes, codept;

/* set strptr at the beginning of the UTF8-string */
strptr = cstring;
strsize = strlen(strptr);

for (;;) {
  /* get next UTF8-character */
  no_bytes = vg4->misc->utf8_next(strptr, strsize, &codept);
  if (no_bytes <= 0) { break; }

  printf("UTF8-character: codepoint = %d, number of bytes = %d: %.*s\n", codept, no_bytes, no_bytes, strptr);

  /* set strptr to next UTF8-character */
  strptr += no_bytes;
  strsize -= no_bytes;
}

Output:
UTF8-character: codepoint = 87, number of bytes = 1: W
UTF8-character: codepoint = 246, number of bytes = 2: ö
UTF8-character: codepoint = 114, number of bytes = 1: r
UTF8-character: codepoint = 100, number of bytes = 1: d

SEE ALSO
vg4->misc->utf8_from_codepoint()