Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2009, 22:03   #1
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию перенаправление вывода на консоль в файл

Собственно в этом и есть проблемма. Пользуюсь WriteConsole:

Код:
	invoke	lstrlen, offset [text_message2]
	inc	eax
	invoke	WriteConsole, [handle_output], offset [text_message2], eax, offset [G_temp], 0
На консоль выводит нормально, а когда пытаюсь перенаправить вывод в файл, то на консоле ничего не появляется и в файле тоже пусто.

Вот к примеру программка замены строк в группе файлов.
Вызов1: proga1 xxxxx yyyy - на консолe:

Ищу - xxxxx меняю на - yyyy
Обрабатываю файл - Project1.dpr - OK
Обрабатываю файл - Unit1.~pas - OK
Обработка завершена !!

Вызов2: proga1 xxxxx yyyy > 1111.txt - на консоле тишина и файл нулевого размера.
Вложения
Тип файла: rar chname.rar (20.6 Кб, 19 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 25.01.2009, 23:11   #2
Д'якон
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 236
По умолчанию

invoke WriteFile, [hFileData], [ipMem2], [G_temp], addr [K_temp], 0

я конечно сильно не вникал, но вроде в файл записывается чистая выделенная память

invoke GlobalLock, [hMem2]
mov [ipMem2], eax

я думаю если отладчиком пройтись, то поймешь почему и в консоль не выводится

Последний раз редактировалось rpy3uH; 26.01.2009 в 08:47.
Д'якон вне форума Ответить с цитированием
Старый 26.01.2009, 08:48   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

как сказал Д'якон надо попробовать через WriteFile, т.е. вместо WriteConsole использовть функцию WriteFile , её тоже можно использовать для вывода в консоль
rpy3uH вне форума Ответить с цитированием
Старый 26.01.2009, 15:31   #4
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Спасибо. Всё получилось.
Да, действительно, ч.з. WriteFile нормально выводит и на консоль и в файл. Обидно только немного, теперь получается что все мои консольные программки которые я до этого писал, не очень корректно эту ситуацию отработают.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенаправление для сворачивание окна BOBAH13 Win Api 16 03.08.2009 13:37
Перенаправление портов ADSoft Безопасность, Шифрование 2 05.01.2008 00:30
Перенаправление потоков Carbon Win Api 5 25.11.2007 14:46
Автоматическое перенаправление на др. стр. Рустам PHP 2 17.11.2007 15:43