# SDL_strdup

Allocate a copy of a string.

## Header File

Defined in [<SDL3/SDL_stdinc.h>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_stdinc.h)

## Syntax

```c
char * SDL_strdup(const char *str);
```

## Function Parameters

|              |         |                     |
| ------------ | ------- | ------------------- |
| const char * | **str** | the string to copy. |

## Return Value

(char *) Returns a pointer to the newly-allocated string.

## Remarks

This allocates enough space for a null-terminated copy of `str`, using
[SDL_malloc](SDL_malloc), and then makes a copy of the string into this
space.

The returned string is owned by the caller, and should be passed to
[SDL_free](SDL_free) when no longer needed.

## Thread Safety

It is safe to call this function from any thread.

## Version

This function is available since SDL 3.2.0.

----
[CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryStdinc](CategoryStdinc)