AndreKR
AndreKR

Reputation: 33697

Suppress "output truncated before terminating nul"

I'm building a binary structure that has to include a certain string character sequence. To set the character sequence, I'm using

struct {
    char preamble[6];
    uint8_t check;
} msg;

strncpy(msg.preamble, "abcdef", 6);

This gives me a warning:

src\main.cpp:41:9: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying
6 bytes from a string of the same length [-Wstringop-truncation]

I'd like to keep the build log free of warnings, so that I can see actual issues quicker.

How can I fix/suppress this warning?

Upvotes: 4

Views: 4726

Answers (1)

dbush
dbush

Reputation: 224387

If what you have isn't a string, don't treat it as such, i.e. don't use strncpy. Use memcpy instead.

memcpy(msg.preamble, "abcdef", 6);

Upvotes: 8

Related Questions