Come posso aggiungere il carattere '%' con sprintf () in C?

voti
0

Vorrei fare una stringa contenente un comando bash che ha opzione di formattazione ad esempio stat -c %F %A %n. Vorrei utilizzare sprintf () per aggiungere il paramater del comando di essere uno degli argomenti della funzione principale, ma mi dà un avvertimento che '%' viene utilizzata per la formattazione stringa speciale in C. Ho provato scriverlo come '\%' ma dà lo stesso errore. Quindi sarebbe simile a questa

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

Avvertimenti sono i seguenti:

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=]
È pubblicato 10/10/2019 alle 01:02
fonte dall'utente
In altre lingue...                            

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