---
name: "chr"
section: "3"
platform: "macos"
package: "ksh"
version: "42"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/chr/3"
---

# chr(3)

character constant conversion routines

## NAME

chr - character constant conversion routines

## SYNOPSIS

```
#include <ast.h>
int          chresc(const char* s, char** e);
int          chrtoi(const char* s);
```

## DESCRIPTION

$1$2chrescchrescchrescchrescchrescchrescchrescchresc converts and returns the next character constant in the 0-terminated string *s*. If *e* is not 0 then *\*e* is set to point to the next character in *s* on return. 0 is returned and  *e* is not modified when the end of *s* is reached.

$1$2chrtoichrtoichrtoichrtoichrtoichrtoichrtoichrtoi converts the 0-terminated string *s* to an *int* and returns the value. The characters in *s* are converted in order from the left and shifted into the *int* value until up to the number of characters in an *int* is reached. This operation is inherently machine-dependent, but at least its defined in one place.

The following  **\\** escape sequences are recognized:

- \\*ooo*

  The character represented by the octal code *ooo*.

- \\x*xx*

  The character represented by the hex code *xx*.

- $1$2\\a\\a\\a\\a\\a\\a\\a\\a

  Alert (bell).

- $1$2\\b\\b\\b\\b\\b\\b\\b\\b

  Backspace.

- $1$2\\f\\f\\f\\f\\f\\f\\f\\f

  Formfeed.

- $1$2\\n\\n\\n\\n\\n\\n\\n\\n

  Newline.

- $1$2\\r\\r\\r\\r\\r\\r\\r\\r

  Carriage return.

- $1$2\\t\\t\\t\\t\\t\\t\\t\\t

  Horizontal tab.

- $1$2\\v\\v\\v\\v\\v\\v\\v\\v

  Vertical tab.

- $1$2\\E\\E\\E\\E\\E\\E\\E\\E

  ESC (escape).

- $1$2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

  Backslash.

Other characters following **\\** are undefined (although for backwards compatibility they translate to themselves).

## SEE ALSO

str(3)
