Jak mogę dodać znak „%” z sprintf () w C?

głosy
0

Chciałbym zrobić łańcuch zawierający polecenie bash, który ma opcji formatowania np stat -c %F %A %n. Chciałbym użyć sprintf () w celu dodania paramater polecenia jako jeden z argumentów funkcji głównej, ale daje mi ostrzeżenie, że „%” służy do specjalnego formatowania tekstu w C próbowałem aby zapisać go jako \ „%”, ale daje ten sam błąd. Tak to będzie wyglądać tak

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

Ostrzeżenia są następujące:

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=]
Utwórz 10/10/2019 o 01:02
źródło użytkownik
W innych językach...                            

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