Всем привет! Написал программку (FASM), которая создаёт папку с именем, которое ей присвоит пользователь: Код (Text): format ELF executable mov eax,4 mov ecx,msg mov edx,msgsz int 80h mov eax,3 mov ebx,2 mov ecx,buf mov edx,100 int 80h mov eax,39 mov ebx,buf mov ecx,1FFh int 80h mov eax,1 int 80h buf: rb 10 msg db 'Type the path: ' msgsz=$-msg Вроде всё работает, папки создаются где укажешь (если права позволяют). Но вот в чём проблема: в конце названий папок впихивается завершающий ноль, и папки эти в консоли видны как folder?. Именно так, с вопросительным знаком на конце. При переходе в неё происходит перенесение курсора, как будто имя состоит из двух строчек. Как же убрать этот ноль? В пркреплённом файле вид из ГУЯ. Помогите кто чем может! Заранее благодарен.
потому что когда ты делаешь рид с консоли то название папки берется с завершающим \n переводом строки (а вовсе не нулем). Это от нажатия ентер при вводе. Решение - вырезать посл. символ из буффера
Ну то что от нажатия на энтер это понятно. Вот я бы хотел уточнить как убрать последний символ из буфера.
Pamidor ну ээ - string[strlen(string)-1]=0; что-то типа Код (Text): mov edi, buf mov ecx, -1 xor al, al repne scasb dec edi dec edi mov [edi], al если я ничего не напутал