Como posso adicionar o caractere '%' com sprintf () em C?

votos
0

Gostaria de fazer uma seqüência que contém um comando bash que tem formatação opção por exemplo stat -c %F %A %n. Eu gostaria de usar sprintf (), a fim de adicionar o paramater do comando ser um dos argumentos da função principal, mas dá-me um aviso de que '%' é usada para corda especial formatação em C. Eu tentei escrevê-lo como '\%', mas ele dá o mesmo erro. Por isso, ficaria assim

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

Os avisos são os seguintes:

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=]
Publicado 10/10/2019 em 01:02
fonte usuário
Em outras línguas...                            

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