FWriteFmtLn

Table of Contents

FWriteFmtLn

Description

Write formatted output to a file stream followed by a newline character. This macro internally uses StrWriteFmtInternal to format the string and then writes it to the stream followed by a newline.

Parameters

NameDirectionDescription
streaminPointer to the FILE stream to write to.
fmtstrinFormat string with {} placeholders. should be wrapped with variable.

Success

Placeholders in fmtstr are replaced by the passed arguments, and the resulting formatted string followed by a newline is written to the stream.

Failure

Failure might occur during memory allocation for the temporary string or during the write operation to the stream (fputs or fputc). Errors from StrWriteFmtInternal (logging messages) might also occur.

Usage example (Cross-references)

    Str file_name = StrInit();
    StrWriteFmt(&file_name, "{}/misra-{}-{}", log_dir, SysGetCurrentProcessId(), &time_buffer[0]);
    FWriteFmtLn(stderr, "storing logs in {}", file_name.data);
    
    // Open the file for writing (create if it doesn't exist, overwrite if it does)
    Str syserr;
    StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
    FWriteFmtLn(stderr, "Error opening log file, will write logs to stderr");
    });
    stderror = stderr;
    
    if (argc < 2 || argc > 3) {
    FWriteFmtLn(stderr, "USAGE : {} <enum-json-spec> [output-file-name]", argc == 0 ? "MisraEnum" : argv[0]);
    return 1;
    }
    int main(int argc, char **argv) {
    if (argc != 2) {
    FWriteFmtLn(stderr, "USAGE : {} config.json", argc == 0 ? "MisraDoc" : argv[0]);
    return 1;
    }
    /// TAGS: Macro, Convenience, Stdout, I/O
    ///
    #define WriteFmtLn(...) FWriteFmtLn(stdout, __VA_ARGS__)
    
    ///

Share :

Related Posts

FReadFmt

FReadFmt Description Read formatted data from a file stream. This is a macro wrapper around FReadFmtInternal.

Read More

FWriteFmt

FWriteFmt Description Write formatted output to a file stream. This macro internally uses StrWriteFmtInternal to format the string and then writes it to the stream.

Read More

FReadFmtInternal

FReadFmtInternal Description Read formatted data from file streams (stdin, or other file)

Read More