gpt4 book ai didi

printf - %s 在字符串文字中是什么意思?

转载 作者:行者123 更新时间:2023-12-03 23:57:36 30 4
gpt4 key购买 nike

我正在查看在 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 上请求 super 用户权限时看到的对话框提供文本,如下图所示

enter image description here
%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 找到答案。

最佳答案

%s 是字符串的 C 格式说明符。

msg = g_strdup_printf (_("<b><big>Enter your password to run "
"the application '%s' as user %s"
"</big></b>"),
command, context->user);

表示“在您看到第一个 %s 的地方,将其替换为 command 的内容作为字符串,并在您看到第二个 %s 的地方将其替换为 context->user 的内容作为字符串。

关于printf - %s 在字符串文字中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999572/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com