Я пытаюсь использовать getch()
альтернативу на C ++, которую я нашел в сети в своей программе Java, поэтому я использую JNA для предоставления нативного доступа для Java. Однако, когда я вызываю метод с использованием JNA, он блокируется на неопределенный срок, что заставляет меня думать, что у него нет доступа к текущей консоли. Более того, когда я пытался войти в консоль с std::cout
или получить ввод с std::cin
с помощью JNA, я получил ошибку доступа к недопустимой памяти.
Что я хочу знать, это: можно ли установить консоль, которую будет использовать программа C ++, чтобы она могла регистрироваться и получать данные с консоли, используемой программой Java? Извините, если это немного расплывчато - я не знаю, как еще это выразить ...
интерфейс:
import com.sun.jna.Library;
interface NativeLib extends Library {
int getch();
}
main:
import com.sun.jna.Native;
...
NativeLib lib = (NativeLib) Native.loadLibrary("getchar", NativeLib.class);
lib.getch();