---
name: "strrev"
section: "3pub"
platform: "linux"
package: "publib-dev"
version: "0.40-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/strrev/3pub"
---

# strrev(3pub)

reverse a string in place

## NAME

strrev - reverse a string in place

## SYNOPSIS

```
#include <publib.h>
char *strrev(char *str);
```

## DESCRIPTION

*strrev* reverses the argument string in place, i.e., it swaps the *i*th character from the beginning with the *i*th character from the end.

## RETURN VALUE

*strrev* returns its argument.

## EXAMPLE

Reversing "dlrow, elloh" would be done like the following.

```
char str[] = "dlrow, elloh";
puts(strrev(str));

```

This would output "hello, world". Note that using the string literal as the argument would be an error, since it is not allowable to modify string literals.

## BUGS

Does not automatically detect palindromes, nor automatically return without doing anything.

## SEE ALSO

publib(3), memrev(3)

## AUTHOR

Lars Wirzenius (lars.wirzenius@helsinki.fi)
