gpt4 book ai didi

c - 如何使用信号安全函数将格式化字符串写入文件?

转载 作者:IT王子 更新时间:2023-10-29 00:33:20 32 4
gpt4 key购买 nike

目前我在信号处理程序中使用一些非信号安全函数,如 fprintfsnprintf。但是我需要用像写这样的信号安全函数来替换它。但是 write 函数只使用一个缓冲区,或者一个非格式化的字符串。还有其他方法可以打印格式化字符串吗?

最佳答案

在信号处理程序中设置一个标志。然后在从信号处理程序返回后将命令写入文件。

static volatile sig_atomic_t sig_rcvd = 0;

void sig_hanlder(int sig)
{
sig_rcvd = 1;
}

如果 sig_rcvd 被设置然后写入文件并可能将 sig_rcvd 重置回 0。这样你就可以避免从信号调用任何异步信号不安全的函数处理程序。

关于c - 如何使用信号安全函数将格式化字符串写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41759948/

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