CLibs
Loading...
Searching...
No Matches
array_printf.h File Reference
#include <stdio.h>

Go to the source code of this file.

Macros

#define ARRAY_PRINT_DEFAULT_STARTSTR   "[ "
#define ARRAY_PRINT_DEFAULT_ENDSTR   " ]"
#define ARRAY_PRINT_DEFAULT_DELIM   ", "
#define array_fprintf_sde(FILESTREAM, ARRAY, ARRLEN, TYPE, FORMAT_STR, START_STR, DELIM, END_STR)
#define array_fprintf_d(FILESTREAM, ARRAY, ARRLEN, TYPE, FORMAT_STR, DELIM)
#define array_fprintf(FILESTREAM, ARRAY, ARRLEN, TYPE, FORMAT_STR)
#define array_printf_sde(ARRAY, ARRLEN, TYPE, FORMAT_STR, START_STR, DELIM, END_STR)
#define array_printf_d(ARRAY, ARRLEN, TYPE, FORMAT_STR, DELIM)
#define array_printf(ARRAY, ARRLEN, TYPE, FORMAT_STR)
#define array_sprintf_sde(STRINGVAR, ARRAY, ARRLEN, TYPE, FMTSTR, STARTSTR, DELIM, ENDSTR)
#define array_sprintf_d(STRINGVAR, ARRAY, ARRLEN, TYPE, FMTSTR, DELIM)
#define array_sprintf(STRING, ARRAY, ARRLEN, TYPE, FMTSTR)

Macro Definition Documentation

◆ array_fprintf

#define array_fprintf ( FILESTREAM,
ARRAY,
ARRLEN,
TYPE,
FORMAT_STR )
Value:
array_fprintf_d( FILESTREAM, ARRAY, ARRLEN, TYPE, FORMAT_STR, \
#define ARRAY_PRINT_DEFAULT_DELIM
Definition array_printf.h:16
#define array_fprintf_d(FILESTREAM, ARRAY, ARRLEN, TYPE, FORMAT_STR, DELIM)
Definition array_printf.h:52
See also
array_fprintf_sde()

◆ array_fprintf_d

#define array_fprintf_d ( FILESTREAM,
ARRAY,
ARRLEN,
TYPE,
FORMAT_STR,
DELIM )
Value:
array_fprintf_sde( FILESTREAM, ARRAY, ARRLEN, TYPE, FORMAT_STR, \
#define ARRAY_PRINT_DEFAULT_STARTSTR
Definition array_printf.h:14
#define ARRAY_PRINT_DEFAULT_ENDSTR
Definition array_printf.h:15
#define array_fprintf_sde(FILESTREAM, ARRAY, ARRLEN, TYPE, FORMAT_STR, START_STR, DELIM, END_STR)
Definition array_printf.h:34
See also
array_fprintf_sde()

◆ array_fprintf_sde

#define array_fprintf_sde ( FILESTREAM,
ARRAY,
ARRLEN,
TYPE,
FORMAT_STR,
START_STR,
DELIM,
END_STR )
Value:
do \
{ \
fprintf( FILESTREAM, "%s", START_STR ); \
for ( size_t print_array_idx__ = 0; print_array_idx__ < ( ARRLEN ); \
++print_array_idx__ ) \
{ \
fprintf( FILESTREAM, FORMAT_STR, \
( ( TYPE * ) ARRAY )[ print_array_idx__ ] ); \
if ( print_array_idx__ != ( ARRLEN ) - 1 ) \
fprintf( FILESTREAM, "%s", DELIM ); \
} \
fprintf( FILESTREAM, "%s", END_STR ); \
} \
while ( 0 )

Prints each element of an array according to a format string as if by printf.

Every other array_*printf* is a specialization of this one.

Parameters
FILESTREAMFile to print to
ARRAYarray of type TYPE and length ARRLEN
ARRLENlength of ARRAY
TYPEtype of member of ARRAY
FORMAT_STRformat string for printing elements
START_STRprinted once at the start
DELIMprinted between each element
END_STRprinted once at the end

◆ ARRAY_PRINT_DEFAULT_DELIM

#define ARRAY_PRINT_DEFAULT_DELIM   ", "

◆ ARRAY_PRINT_DEFAULT_ENDSTR

#define ARRAY_PRINT_DEFAULT_ENDSTR   " ]"

◆ ARRAY_PRINT_DEFAULT_STARTSTR

#define ARRAY_PRINT_DEFAULT_STARTSTR   "[ "

◆ array_printf

#define array_printf ( ARRAY,
ARRLEN,
TYPE,
FORMAT_STR )
Value:
array_printf_d( ARRAY, ARRLEN, TYPE, FORMAT_STR, ARRAY_PRINT_DEFAULT_DELIM )
#define array_printf_d(ARRAY, ARRLEN, TYPE, FORMAT_STR, DELIM)
Definition array_printf.h:69
See also
array_fprintf_sde()

◆ array_printf_d

#define array_printf_d ( ARRAY,
ARRLEN,
TYPE,
FORMAT_STR,
DELIM )
Value:
array_printf_sde( ARRAY, ARRLEN, TYPE, FORMAT_STR, ARRAY_PRINT_DEFAULT_STARTSTR, \
#define array_printf_sde(ARRAY, ARRLEN, TYPE, FORMAT_STR, START_STR, DELIM, END_STR)
Definition array_printf.h:64
See also
array_fprintf_sde()

◆ array_printf_sde

#define array_printf_sde ( ARRAY,
ARRLEN,
TYPE,
FORMAT_STR,
START_STR,
DELIM,
END_STR )
Value:
array_fprintf_sde( stdout, ARRAY, ARRLEN, TYPE, FORMAT_STR, START_STR, DELIM, \
END_STR )
See also
array_fprintf_sde()

◆ array_sprintf

#define array_sprintf ( STRING,
ARRAY,
ARRLEN,
TYPE,
FMTSTR )
Value:
array_sprintf_d( STRING, ARRAY, ARRLEN, TYPE, FMTSTR, ARRAY_PRINT_DEFAULT_DELIM )
#define array_sprintf_d(STRINGVAR, ARRAY, ARRLEN, TYPE, FMTSTR, DELIM)
Definition array_printf.h:130
See also
array_sprintf_sde()

◆ array_sprintf_d

#define array_sprintf_d ( STRINGVAR,
ARRAY,
ARRLEN,
TYPE,
FMTSTR,
DELIM )
Value:
array_sprintf_sde( STRINGVAR, ARRAY, ARRLEN, TYPE, FMTSTR, \
#define array_sprintf_sde(STRINGVAR, ARRAY, ARRLEN, TYPE, FMTSTR, STARTSTR, DELIM, ENDSTR)
Definition array_printf.h:92
See also
array_sprintf_sde()

◆ array_sprintf_sde

#define array_sprintf_sde ( STRINGVAR,
ARRAY,
ARRLEN,
TYPE,
FMTSTR,
STARTSTR,
DELIM,
ENDSTR )

The contents of STRINGVAR are overwritten (the pointer itself is).

If allocation fails at any point during the main body of this macro, this results in STRINGVAR being NULL.

Requires previous definition of CLIBS_DYNSTRING_H, for example by #include "src/structs/dynstring.h"

See also
array_fprintf_sde()
Parameters
STRINGVARa local variable into which a pointer to a string (a char *) gets saved