I agree that the behaviour for the + modifier in the sprintf case is a bit confusing.
Note that there's no such thing as unsigned encoding when it comes to fix-sized binary numbers.
But there's certainly a reasonably well accepted way to represent, say, a 16 bit unsigned integer, right?
The "problem" with sprintf wasn't my original problem, I only noticed it when I was trying to troubleshoot my decoding difficulties with sscanf (which I'm using to decode a struct delivered to me from a little-endian microcontroller). I thought that I wasn't able to decode little-endian unsigned integers but I can't verify what was going wrong now, as I've switched to uints. For that, I'll have to change the firmware when I get some more time.
Am I wrong in saying that the fact that %-F doesn't work is a bug?
No, I agree that %-F ought to work.
Ok, at least I'm not completely crazy on one of the points.