FWriteFmtLn
- Macro
- October 8, 2025
Table of Contents
FWriteFmtLn
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
Name | Direction | Description |
---|---|---|
stream | in | Pointer to the FILE stream to write to. |
fmtstr | in | Format 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)
- In
Log.c:58
:
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)
- In
Log.c:87
:
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
FWriteFmtLn(stderr, "Error opening log file, will write logs to stderr");
});
stderror = stderr;
- In
MisraEnum.c:39
:
if (argc < 2 || argc > 3) {
FWriteFmtLn(stderr, "USAGE : {} <enum-json-spec> [output-file-name]", argc == 0 ? "MisraEnum" : argv[0]);
return 1;
}
- In
MisraDoc.c:99
:
int main(int argc, char **argv) {
if (argc != 2) {
FWriteFmtLn(stderr, "USAGE : {} config.json", argc == 0 ? "MisraDoc" : argv[0]);
return 1;
}
- In
Io.h:504
:
/// TAGS: Macro, Convenience, Stdout, I/O
///
#define WriteFmtLn(...) FWriteFmtLn(stdout, __VA_ARGS__)
///