· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Получение не полного имени файла

Посл.отвђт Сообщенiе


Дата: Окт 31, 2004 12:22:42

GetModuleFileName получает полное имя файла, например
C:\test.exe. Существуют ли простые способы получения только имени(без пути и расширения, например test)?


Дата: Окт 31, 2004 12:44:14

Ну можно же отсечь до знака "/" (если смотреть справа на лево)... Аналогично до знака "."...


Дата: Окт 31, 2004 18:57:07 · Поправил: Johnikum

Только до знака "." нужно отсекать с конца.


Дата: Окт 31, 2004 20:05:23 · Поправил: cresta

.


Дата: Окт 31, 2004 20:33:25

Если не обрабатывать исключительные ситуации, как отсутствие в пути '.' и '\', то код может быть приблизительно такой:
       invoke GetModuleFileName, NULL, OFFSET sBuff, 01000h
       test eax, eax
       jz @exit
       lea edx, [eax+sBuff-1]
@@:
       cmp BYTE PTR [edx], '.'
       je @F
       dec edx
       jmp @B
@@:
       mov BYTE PTR [edx], 0
@@:
       cmp BYTE PTR [edx-1], '\'
       je @F
       dec edx
       jmp @B
@@:
       invoke MessageBox, 0, edx, 0, 0
@exit:


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048