Всем привет! Я хочу сделать отслеживание клавиш в своей программе, вот почти готовый код:
#ifdef defined(_WIN32) || defined(_WIN64)
#include <conio.h>
void clear() {
printf("\033[2J");
printf("\033[0;0f");
}
#define WINDOWS
#elif defined(unix)
char getch() {
char ch;
system("stty raw");
ch = getchar();
system("stty cooked");
return ch;
}
void clear() {
system("clear");
}
#define UNIX
#endif
enum { FALSE, TRUE };
int main() {
clear();
FILE *logs = fopen("logs.txt", "r");
if (logs != NULL) {
while(TRUE)
char s = getch(); // Problemmmmmmmmmmmm
fprintf(logs, "%s\n", s); // Problemmmmmmmmmmmmmmm
}
else {
printf("Error!");
}
fclose(logs);
return 0;
}
Но у меня, как всегда, возникла тупая проблема... Мне нужно функцию getchar() записать в файл. Но т.к я хочу сделать свою программу кроссплатформенной, то собственно на Windows эту функцию изменить не получится, а на Linux, как видите, я её сделал сам.
Вкратце: как мне считать ОДИН СИМВОЛ и сразу же записать его в файл? При этом нужно что бы работало как и на Windows так и на Linux