|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.05.2013, 16:39 | #1 |
Регистрация: 28.12.2011
Сообщений: 4
|
Признак бинарного или текстового файла
Как реализовать на WinApi (C++) функцию bin() - признак бинарного или текстового файла?
|
01.05.2013, 17:05 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Никак. Текстовый файл - разновидность бинарного. Они все бинарные.
I'm learning to live...
|
01.05.2013, 17:25 | #3 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Можно попробовать определить по наличию непечатных символов (вроде '\0' и иже с ним). Только нельзя забывать о существовании многобайтовых кодировок, в которых '\0' может встречаться как один из байтов, представляющих корректный печатный символ.
|
01.05.2013, 18:20 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
не припомню, кодировок с нулевыми байтами
вообще в текстовом файле редко бывают байты с кодами 0-9,11-12,14-31 и 127. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
01.05.2013, 19:00 | #5 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Unicode.
Цитата:
- в качестве разделителя столбцов таблицы, - для формирования отступов в текстах программ, - для формирования отступа начала абзаца. 12 - конец страницы. Встречается в любом файле, разбитом на страницы. 26 - символ конца файла. Может встретиться один раз в конце файла. Кстати, некоторые утилиты принудительно дописывают этот символ в конец текстового файла. А вообще, все, что описано после последней цитаты, относится исключительно к однобайтовым кодировкам и кодировкам переменной длины. В двухбайтовых кодировках очень часто один из байтов лежит в пределах 0-5. В частности, для латиницы - 0, для кириллицы - 4. |
|
01.05.2013, 19:50 | #6 |
Регистрация: 28.12.2011
Сообщений: 4
|
Просканировать или определить непечатных символов для WinApi не очень надежно. Есть такая функция есть должно быть, например GetFileType. и я использовал эту функцию, но вообще не работает или, может быть, не та функция, которая определяет тип файла.
|
01.05.2013, 20:39 | #7 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
а если брать UTF8 то там нолей быть не может(кроме ASCII ноля). ну про часть символов из управляющих, каюсь забыл. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
01.05.2013, 22:38 | #8 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
|
02.05.2013, 00:58 | #9 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
Цитата:
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
|
02.05.2013, 01:11 | #10 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
ну и основной вопрос: собсна а зачем оно надо, такая bin() ?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Признак запущенного файла | davidoff_pk | Win Api | 7 | 04.08.2012 12:01 |
Чтение из бинарного файла | lioc | C# (си шарп) | 10 | 20.02.2012 21:12 |
Текст вводится из текстового файла произвольной длины; вывод результатов на экран, принтер или в файл | kestugar | Помощь студентам | 1 | 29.03.2011 19:09 |
Разработать программу печати выбранного текстового файла (язык дельфи или ассемблер) | KrisPipis | Помощь студентам | 0 | 17.01.2011 21:22 |
Как снять с файла признак что он занят другим пользователем | Chelentano | Microsoft Office Excel | 1 | 12.08.2009 10:56 |