好的,下面是一个示例代码:
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <signal.h> #include <fcntl.h>
// 保存文件的文件描述符 int fd;
// 信号处理函数 void sigint_handler(int signum) { // 关闭文件 close(fd); printf("退出程序\n"); exit(0); }
int main(int argc, char *argv[]) { // 打开文件 fd = open("d:\record.txt", O_WRONLY | O_CREAT, 0664); if (fd < 0) { perror("open"); return -1; }
// 注册信号处理函数
signal(SIGINT, sigint_handler);
while (1)
{
char c = getchar();
// 将按键写入文件
write(fd, &c, 1);
}
return 0;
}