|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Определить и записать смещение каждой строки |
|
.NET - [решено] Определить и записать смещение каждой строки
|
Ветеран Сообщения: 519 |
Требуется написать программу на C# (но буду благодарен и за теорию).
Производится чтение из текстового файла (кодировка ANSI). Нужно определить смещение первого символа каждой строки, вписать все смещения этих символов в файл (то есть получается бинарный файл). вопрос состоит в том каким образом можно считать эти смещения и записать их в виде: 00000000 00000001 (без пробелов ![]() |
|
Отправлено: 11:55, 13-08-2011 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать S.T.R.E.L.O.K., Есть нюанс, как закодировано окончание строки - в разных ОС разные соглашения о формате текстовых файлов. Для windows надо искать последовательность двух символов с кодами 0D и 0A - следующий символ - будет первым символом новой строки.
Так же существует спецсимвол обозначающий конец текстового файла, правда в реальной жизни практически не встречается, но формально, встретив его, нужно завершить чтение текстового файла и конечно же не считать символом новой строки, даже если он идёт за 0x0D0A. Есть ли ограничение на размер входящего файла? - мне попадались логи объёмом по 3Гб. Если смещение представлять традиционным int (что в корне неверно, т.к. он знаковый), то корректно обработаются только файлы объёмом до двух гигабайт; если беззнаковым int - до 4 Гб. |
Отправлено: 14:13, 13-08-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 519
|
Профиль | Отправить PM | Цитировать Цитата Busla:
Цитата Busla:
Цитата Busla:
|
|||
Последний раз редактировалось S.T.R.E.L.O.K., 13-08-2011 в 19:35. Отправлено: 19:16, 13-08-2011 | #3 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать S.T.R.E.L.O.K., не понимаю суть затруднений: вы не знаете как читать из двоичного файла, или что такое смещение?
|
Отправлено: 11:55, 14-08-2011 | #4 |
Ветеран Сообщения: 519
|
Профиль | Отправить PM | Цитировать Busla, не знаю как определить смещение
![]() |
|
Отправлено: 13:09, 14-08-2011 | #5 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать А что его определять-то: чтобы анализировать символы, нам нужно читать данные побайтно: байт прочитал, увеличил счётчик - этот счётчик и есть смещение.
|
Отправлено: 09:55, 15-08-2011 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MySQL - Дописать в начало строки текст каждой записи в опредленном поле | Artem-Samsung | Программирование и базы данных | 7 | 02-10-2019 20:22 | |
Как определить кодировку строки передаваемой как значение параметра OLE-серверу Excel | RUVATA | AutoIt | 12 | 13-12-2010 23:22 | |
CMD/BAT - [решено] Как определить IP и записать его в переменную? (OS: Windows Vista) | Voshal | Скриптовые языки администрирования Windows | 7 | 17-05-2010 11:43 | |
Загрузка - смещение экрана | oleg1 | Microsoft Windows 2000/XP | 1 | 08-05-2009 18:42 | |
Как определить наличие диска в CD-ROM'е из командной строки? | AT | Хочу все знать | 1 | 02-01-2004 10:37 |
|