C - 将 kbhit 中的 key 写入文件会使程序崩溃

标签 c keylogger

key值写入文件会导致程序崩溃。我知道这一点是因为我用 key 值替换了普通的 String 并且程序运行良好。为什么key值会导致程序崩溃?

#include <stdio.h>
#include <conio.h>

int main() {

  FILE *fp;
  fp = fopen("C:\\Users\\Francisco\\Documents\\C programs\\log.txt", "w");


  int key;

  while(1) {

    if(_kbhit()) {

     key = _getch();

      fprintf(fp, (const char*) key);

    }

  }

  fclose(fp);

  return 0;

}

最佳答案

  fprintf(fp, (const char*) key);

应该是

  fprintf(fp,"%c ",key);

关于C - 将 kbhit 中的 key 写入文件会使程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54316493/

相关文章:

java - 如何在java中使用SetWindowsHookEx函数?

c++ KeyLogger不记录第一个shift键或控制键按下

c - 未初始化的值是由堆分配创建的

c - 使用 ANSI C 实现工厂模式

判断闰年的C程序

c - 无法使用套接字写入流

安卓键盘记录器

c++ - 在 Windows 中编写和编译 A/C++ 程序的最快方法

c++ - 键盘记录器不会在没有控制台的情况下记录击键

keyboard - TypeError:write()参数必须为str,而不是list