Во-первых, большое спасибо за ответ.
Во-вторых.
В который раз убеждаюсь, что прежде чем что-то спрашивать надо двадцать пять тысяч раз проверить себя, и изучить все что только можно изучить.
Проблема действительно оказалась гораздо проще — бардак с кодировками. Строчки были ансишные, программка-искалка искали юникодовские. Путем простых телодвижение все стало искаться нормально.
PD>Мимоходом маленькое замечание. WriteFile не знает никаких строк в ANSI,
PD>она только записвает байты. Уверен, что здесь все в порядке ?
Я некорректно выразилась.
Дело в том, что нужно задавать именно осмысленные строчки, чтобы потом физически искать их на диске. С точки зрения WriteFile это, естественно, набор байтов.
>> Далее копирую этот файл (xcopy) из командной строки на диск с размером кластера 512б.
>> Файл сильно фрагментируется. Мои текстовые фразы разрываются.
>> В итоге, когда я пытаюсь физически (открывая диск все тем же CreateFile()) на диске найти эти фразы — они не ищутся.
PD>Этого не может быть, потому что это противоречит основным принципам.
PD>Почему — об этом достаточно написал Alex Alexandrov, повторяться не
PD>буду. Насчет того, что ты не можешь найти свои фразы
Почему бы этому не быть? Представьте себе ситуацию — вы создаете большой (100кб, к примеру) файл, куда пишете некие данные. Вполне возможна ситуация, когда файл фрагментируется и данные разорвутся — на физическом уровне.
Далее, если открыть диск (не файл), и начать в нем искать кусок своих данных, вы вполне его не найдете, ведь первая треть его находится в одном кластере, а вторая — совсем в другом, не идущем непосредственно за первым.
>> 0. могут ли фразы в исходном файлек не искаться не из-за дефрагментации, а по другим причинам?
PD>Могут. Причина одна — записал не то
Признаю себя ослом!!!
>> 1. как добиться того, чтобы ничинать запись в файл непосредственно с начала кластера?
PD>Кластеры тебя волновать не должны. Работа с кластерами АБСОЛЮТНО
PD>ПРОЗРАЧНА для приложений, их не касается, какие кластеры выделяются.
PD>Содержимое файла от расположения кластеров не зависит.
Большое спасибо!
Итак ясно, что таблица размещения хранит цепочку кластеров и все данные на уровне приложений будут непрерывны.
Вопрос, тем не менее, остается достаточно интересным, с познавательной точки зрения!!!