---
name: "SDL_SCANF_VARARG_FUNCV"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_SCANF_VARARG_FUNCV"
---

# SDL\_SCANF\_VARARG\_FUNCV(3)

Macro that annotates a va\_list function that operates like scanf.

## NAME

SDL\_SCANF\_VARARG\_FUNCV - Macro that annotates a va\_list function that operates like scanf.

## HEADER FILE

Defined in SDL3/SDL\_stdinc.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**#define SDL\_SCANF\_VARARG\_FUNCV( fmtargnumber ) \_\_attribute\_\_(( format( \_\_scanf\_\_, fmtargnumber, 0 )))**

## DESCRIPTION

If we were to annotate **vfscanf** :

-

  ```
  int vfscanf(FILE *f, const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(2);
  ```

This notes that the second parameter should be a scanf-style format string, followed by a va\_list. The compiler or other analysis tools can warn when this doesn't appear to be the case.

On compilers without this annotation mechanism, this is defined to nothing.

This can (and should) be used with

**SDL\_SCANF\_FORMAT\_STRING**\
  as well, which between them will cover at least Visual Studio, GCC, and Clang.

## AVAILABILITY

This macro is available since SDL 3.2.0.
