Есть файл(блокнот, с убранным расширением): 1 2 3 4 5 6 7 8 9 0 Его содержимое нужно перенести в другой файл в таком порядке: 1234 5678 90 Helh me
тоесть все сводится к тому штобы правильно 0d0a(возврат каретки и новая строва) расставить? я правильно понял?
Ну, открываешь файл CreateFile затем заказываешь памяти кусок GlobalAlloc. И деле всё туда читаешь ReadFile. Но побайтно. Что делать дальше, я думаю понятно, или ты хочешь, чтобы тут всё за тебя написали? Прочитай туториалы iczelion'a они есть на этом сайте.
Предлагаю вначале убрать из файла все символы 0a0d, а затем выделять кусок памяти на 6 байт (реально получится 8), считывать 4 байта из файла, добавлять 0a0d, ну и наконец записывать в файл. Это первое, что мне пришло в голову, так, что возможно это не идеальное решение.
Вот только вопрос: куда добавлять эти 0D0Ah ? в функцию SetFilePointer их не вставишь, толку нет(WINDOWS как-никак), а начнёшь делать прерывания ничего кроме ошибки не получишь... Ешё раз: мне это просто нужно сделать под WINDOWS XP PROFESSIONAL(просто переставить каретку на начало строки). Огромное спасибо за советы, но они мне пока не помогли...
.data buf DWORD 0 CRLF db 0Dh,0Ah ... Дальше читаешь пошагово(по 4 байта) из файла дынные в buf, а затем перемешьаешь(можно конечно rep movsb, но тебе пойдёт и RtlMoveMemory) ПО 6 БАИТ с началом в buf(т.е зашватывается как и сам buf, так и CRLF) в общий буффер. ЗЫ: Решение которое предложил я не является правильным, оно просто основанно на твоих домыслениях. В принципе можно всё сделать более рацианально. Думай дальше сам!
куда добавлять эти 0D0Ah ? в функцию SetFilePointer их не вставишь, толку нет штота я недогнал зачем их туда пихать? конешно невставиш. тебеж сказали, читаеш файл в память (можеш юзать ReadFile можеш в память промэпить(в данном случае луче ненадо)), в памяти проделываеш все необходимые манипуляции и сохраняеш файл. вернее даже так, читаеш (опятже побайтово) из файла, если это символы 0d or 0a то записываеш их только в том случае если они идут после четвёрки или 8ки. так утя в памяти будит уже готовый вариант, остаёца его запихать обратно в файл.