Я смотрю на следующий код, который нашел в libgksu
, и мне интересно, что делает %s
внутри строки. Я не могу использовать Google для этого, так как он удаляет символы, такие как процентиль, во время поиска, оставляя меня только с 's' в качестве поискового запроса.
if (!strcmp(context->user, "root"))
msg = g_strdup_printf (_("<b><big>Enter your password to perform"
" administrative tasks</big></b>\n\n"
"The application '%s' lets you "
"modify essential parts of your "
"system."),
command);
Цель этого фрагмента кода - предоставить текст для диалогового окна, которое пользователь видит, когда приложение запрашивает привилегии суперпользователя в Linux, как можно увидеть на этом снимке экрана
![enter image description here](https://i.stack.imgur.com/PAa2j.png)
%s
в данном случае - это переменная, которая содержит имя приложения, запрашивающего привилегии, но это не так просто, потому что я видел %s
, используемый во всем коде в совершенно разных контекстах. Например, компонент else
приведенного выше оператора if
равен
else
msg = g_strdup_printf (_("<b><big>Enter your password to run "
"the application '%s' as user %s"
"</big></b>"),
command, context->user);
и %s
используются для обозначения имени приложения и пользователя. Может кто-нибудь сказать, пожалуйста, для чего предназначен %s
и где я могу узнать больше информации о его использовании? Я предполагаю, что это регулярное выражение, но, как я уже говорил ранее, я не могу Google узнать.