gpt4 book ai didi

c - %m 格式说明符的含义是什么?

转载 作者:太空狗 更新时间:2023-10-29 16:22:34 28 4
gpt4 key购买 nike

此代码的输出打印出“成功”。

printf("%m\n");

最佳答案

m 转换说明符不是 C,而是 printf 的 GNU 扩展:

来自 GNU 文档:

http://www.gnu.org/software/libc/manual/html_node/Other-Output-Conversions.html

The ‘%m’ conversion prints the string corresponding to the error code in errno. See Error Messages. Thus:

fprintf (stderr, "can't open `%s': %m\n", filename);

is equivalent to:

fprintf (stderr, "can't open `%s': %s\n", filename, strerror (errno));

The ‘%m’ conversion is a GNU C Library extension.

所以:

printf("%m\n", d);

相当于

printf("%s\n", strerror (errno), d);

相当于

printf("%s\n", strerror (errno));

请注意 %m 不需要参数。这里 printf("%m\n", d)printf("%s\n", strerror (errno), d) 的参数比要求的多: printf 如果有额外的尾随参数,它们将被评估并被忽略。

关于c - %m 格式说明符的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20577557/

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