Спасибо добрым людям, подсказали решение тут: http://www.wasm.ru/forum/index.php?action=vthread&forum=7&topic=9332 теперь надо спортировать на гадкую жабу. Тупая жаба printf не имеет, поэтому пришлось заморачиваться с JNI. Настрадал .h/.c-файлы - заюзал javah -jni Жабный класс выглядит так: Код (Text): public class ProcessMeter { public native void printLineNo(int lineno); static { //System.loadLibrary("processmeter"); System.load("C:/processmeter/processmeter/processmeter/Release/process meter.dll"); } } Код нативного метода выглядит так: Код (Text): #include <jni.h> #include "ProcessMeter.h" #include <stdio.h> JNIEXPORT void JNICALL Java_ProcessMeter_printLineNo (JNIEnv *env, jobject obj, jint lineno) { fprintf(stderr, "\rline is: %d", lineno); } Код ProcessMeter.h автосгенерирован javah. Далее юзаю жабный класс вот так: Код (Text): ProcessMeter p_meter = new ProcessMeter(); p_meter.printLineNo(lineno); и жабная JVM слетает, зараза: Код (Text): java.lang.UnsatisfiedLinkError: printLineNo at jimporter.parsers.ProcessMeter.printLineNo(Native Method) jimporter.Jimporter.main(Jimporter.java:215) Exception in thread "main" ПАДЛА!!! Я уж попробовал сунуться в dll - быть может, думаю, где-то с вызовами напортачил. Записал .def-файл вида: Код (Text): EXPORTS Java_ProcessMeter_printLineNo Смотрел в экспорт РЕ-редактором - имя такое как и указал в def-файле. НУ ЧЕГО ЭТОЙ ГАДОСТИ ОТ МЕНЯ ЕЩЕ НУЖНО????
Таакс... Кое-чего надыбал еще. Вот: http://forum.java.sun.com/thread.jspa?threadID=471668&messageID=3069000 http://www.codeproject.com/cpp/integratingcppjava.asp
Угу, действительно, надо менять сигнатуру метода на полный путь. Тогда работает. Единственное что, все сделал Все запускается. Вот только fprintf(stderr, "\rline is: %d", lineno); ОПЯТЬ НЕ РАБОТАЕТ!!!! Ну что же это за наказание такое???
И System.out.println() есть, но таким образом нельзя писать по заданным координатам на экране, менять цвет символов и т.д.
Всем привет. Давно не видел. У вас, я вижу, всё по-старому. Quantum printf-ом тоже нельзя ничего этого делать. Им можно только символы в выходной поток посылать, а как их воспринимать - это уже дело, в данном случае, терминала. И в этом плане printf ничем не лучше и ничем не хуже System.out.println(). А Stiver прав - в пятой жабе аналог printf есть. volodya Если тебя устраивает то, что в настоящей консоли работает, а в оболочкиной нет, то ты с тем же успехом можешь пользоваться всем набортным и не плодить лишних сущностей. Код (Text): for(int a=1; a<10; a++) System.out.print(a+"\r"); А если целевой терминал поддерживает какой-нить vt-100, то и те escape-последовательности можно спокойно посылать.
bsl_zcs Привет! Форматирование в Java поддерживается испокон веков. Есть класс java.text, который ничем не хуже PrintStream.printf. Для этого в Win32 предусмотрены 2 функции: SetConsoleTextAttribute и SetConsoleCursorPosition. После этого printf, WriteConsole и т.д. будут печатать по заданым координатам и установленым цветом.
Asterix Это праздничный мод мои слова коверкает Скажи спасибо Димону Там ещё баян вместо слова "полосатый мух" есть ЛОЛ ))