Jak mohu přidat znak ‚%‘ s sprintf () v C?

hlasů
0

Chtěl bych, aby se řetězec obsahující příkaz bash, který formátování možnost např stat -c %F %A %n. Chtěl bych používat sprintf () za účelem doplnění paramater příkazu je jedním z argumentů hlavní funkce, ale to mi dává varování, že ‚%‘ se používá pro speciální řetězec formátování v C. jsem se pokusil zapsat jako ‚\%‘, ale to dává stejnou chybu. Tak to bude vypadat takto

sprintf(cmd, stat -c \\%F \%A \%n\ %s, args[i]);`.

Varování jsou následující:

warning: format ‘%F’ expects argument of type ‘double’, but argument 3 has type ‘char*’ [-Wformat=]
         sprintf(cmd, stat -c \\%F \%A \%n \ %s, args[i])
warning: format ‘%A’ expects a matching ‘double’ argument [-Wformat=]
warning: format ‘%n’ expects a matching ‘int*’ argument [-Wformat=]
warning: format ‘%s’ expects a matching ‘char*’ argument [-Wformat=]
Položena 10/10/2019 v 01:02
zdroj uživatelem
V jiných jazycích...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more