В асме все еще проще, если ты используешь WinApi.
Например:
Цитата |
; ; Это начало небольшой консольной проги, которая работает с файликом ; свои результаты она сбрасывает в лог и на консоль одновременно ;
; ; Получаем хэндл консоли ; invoke GetStdHandle,STD_OUTPUT_HANDLE mov dword ptr hConsole,eax
; ; Пробуем открыть файл лога (дозапись) ; .data LogFileName db "grandemu.log",0 .data? LogDescr dd ? .code invoke CreateFile,offset LogFileName,GENERIC_WRITE,FILE_SHARE_WRITE+FILE_SHARE_READ,\ 0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0 mov LogDescr,eax ; Save file descriptor inc eax jnz @@LogFileOpen
; ; Файл не открылся - его еще нет ; Create new log ; invoke CreateFile,offset LogFileName,GENERIC_WRITE,FILE_SHARE_WRITE+FILE_SHARE_READ,\ 0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0 mov LogDescr,eax ; Save file descriptor inc eax jnz @@LogFileOpen .data OpenErrorMsg db "Log file (grandemu.log) not created !",0Ah,0 .code push offset OpenErrorMsg call Write_Log jmp Exit @@LogFileOpen:
; Устанавливаем указатель в конец файла (только что открытого) invoke SetFilePointer,LogDescr,0,NULL,FILE_END |
Более подробно смотри на wasm.ru, примеры в комплекте MASM32. |