If you want your code to be portable, your format ("fmt") argument should use only the conversion specifiers defined by the ANSI C standard. These are "aAbBcdHIjmMpSUwWxXyYZ%".