C++ C:fprintf被Ctrl C中断

C++ C:fprintf被Ctrl C中断,c++,c,stdout,stdio,printf,C++,C,Stdout,Stdio,Printf,如何确保使用Ctrl+Cbreak将当前行完全写入文件? 大多数情况下,我都会收到部分最后一行。我知道这很正常,但我怎么处理呢 谢谢如果运行Linux,您可以捕获SIGINT信号并将所有数据刷新到信号处理程序中的文件中。通常Linux中的所有进程都使用默认信号掩码接收SIGINT。您所要做的就是编写信号处理函数,然后使用sigaction()系统调用 每个操作系统都以不同的方式处理Ctrl-C。什么操作系统/构建系统?别忘了fflush()?您可以通过信号处理程序捕获Ctrl+C。。。您可以直接

如何确保使用
Ctrl+C
break将当前行完全写入文件? 大多数情况下,我都会收到部分最后一行。我知道这很正常,但我怎么处理呢


谢谢

如果运行Linux,您可以捕获SIGINT信号并将所有数据刷新到信号处理程序中的文件中。通常Linux中的所有进程都使用默认信号掩码接收SIGINT。您所要做的就是编写信号处理函数,然后使用sigaction()系统调用


每个操作系统都以不同的方式处理Ctrl-C。什么操作系统/构建系统?别忘了
fflush()
?您可以通过信号处理程序捕获
Ctrl+C
。。。您可以直接写入内存映射文件,而不是使用
fprintf
来加快写入速度。。。您可以在每次写入后
fflush
标准输出缓冲区,以确保没有挂起的活动。你去干什么?你使用的是什么系统?这个用例是什么?to chux的可能副本,每行都很短,但字符串输入速度非常快。每条线路都会引入大量的开销。