Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
Не получается никак осуществить. Во-первых не знаю как возвращать буфер с текстом. Сделать чтобы функция просто возвращала на него указатель? А во вторых она, почему-то не работает. FileRead(_T("C:\\1.txt")); Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Выдается ошибка GetLastError=00000057 Возможно это семерка ругается, из-за того что прав не хватает или что-то в этом роде. Гугление особо не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 16:21 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrain, 0x57 = Invalid Parameter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 16:32 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
RWolf, ага, а какой параметр невалидный не подскажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 16:35 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
Отладка покажет. Для начала можно распечатать эти параметры перед вызовом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 16:39 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
Убрал FILE_FLAG_OVERLAPPED (зачем он там был?). Но осталась проблема, часть файла выводится нормально, а в конце ерунда какая-то. Не пойму в чем дело. Файл сохранен ANSI as UTF-8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 16:50 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
TCHAR 16-битный, надо полагать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:14 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrain а в конце ерунда какая-то. не в конце, а за ним. Потому что убрал установку конца Код: plaintext 1. а убрал потому что не компилировалось, т.к. буфер void* сделай Код: plaintext 1. PS WinAPI тебе зачем? Тут стандартных fopen(), fread() достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:28 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
Dima Tastrotrain а в конце ерунда какая-то. не в конце, а за ним. Потому что убрал установку конца Код: plaintext 1. а убрал потому что не компилировалось, т.к. буфер void* сделай Код: plaintext 1. PS WinAPI тебе зачем? Тут стандартных fopen(), fread() достаточно. Спасибо, так заработало. Интересно было было попробовать через WinAPI. Я кстати не совсем понял, где его применяют, учитывая что средствами языка проще/быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:39 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
Да, и еще хотел спросить. Вот я прочитал файл, он был в анси, а если бы содержимое в UTF-8 было, то как тогда себя вести? Нужно сначала определить в какой кодировке содержимое, а потом как действовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:42 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrainWinAPI. Я кстати не совсем понял, где его применяют, учитывая что средствами языка проще/быстрее.в реализации стандартных fopen(), fread(), чудес то не бывает ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:48 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrainСпасибо, так заработало. Интересно было было попробовать через WinAPI. Я кстати не совсем понял, где его применяют, учитывая что средствами языка проще/быстрее. WinAPI это средства ОС виндовс для работы с ресурсами ОС. Средства языка это ОС независимые средства, т.е. если под виндовсом компилируешь, то fopen() в итоге вызовет CreateFile(). Если под линуксом, что-то подобное из линукс API. Зачем нужно: у CreateFile() есть возможности, которых нет в fopen(), это специфичные фишки виндовса. Например средствами WinAPI можно сделать проекцию файла в память. Т.е. в твоей задаче можно не выделять память и читать туда, а спроецировать файл в память и обращатся к нему как к области памяти. Если интересно что WinAPI умеет: почитай книжку Джеффри РИХТЕР "Windows для профессионалов" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:52 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrainВот я прочитал файл, он был в анси, а если бы содержимое в UTF-8 было, то как тогда себя вести? йад в аптеке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 01:38 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrainДа, и еще хотел спросить. Вот я прочитал файл, он был в анси, а если бы содержимое в UTF-8 было, то как тогда себя вести? Нужно сначала определить в какой кодировке содержимое, а потом как действовать? Определить в какой кодировке содержимое невозможно. это надо ЗНАТЬ. варианта два - предопределенные соглашения или метаданные проколола обмена высшего уровня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 06:10 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
метаданные файла тут, а не протокола, раз чтение файлов а не передача по сети. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 06:13 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
MasterZivОпределить в какой кодировке содержимое невозможно. это надо ЗНАТЬ. Возможно - эвристикой. В разных кодировках есть диапазоны кодов используемых в одной и неиспользуемых в другой. У меня так распознавание CP1251 и CP866 сделано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 06:49 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
Dima TMasterZivОпределить в какой кодировке содержимое невозможно. это надо ЗНАТЬ. Возможно - эвристикой. В разных кодировках есть диапазоны кодов используемых в одной и неиспользуемых в другой. У меня так распознавание CP1251 и CP866 сделано. Угу, понятно. А еще хотел спросить. Вот в winapi, функций, например, для чтения строк не существует, получается? Если его использовать, то нужно либо свои функции городить либо просто функции библиотек языка юзать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 11:16 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrainнужно либо свои функции городить либо просто функции библиотек языка юзать? Да. Для того языки и придуманы чтобы велосипедов поменьше изобретать надо было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 11:24 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrainв winapi, функций, например, для чтения строк не существует, получается? Да. Файлы на уровне этого API - простая кучка байт. Их содержимое не анализируется и не модифицируется при чтении или записи. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 11:46 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
astrotrainУгу, понятно. А еще хотел спросить. Вот в winapi, функций, например, для чтения строк не существует, получается? Если его использовать, то нужно либо свои функции городить либо просто функции библиотек языка юзать? Работать с файлами средствами API OS -- малополезная штука. Программа становится непереносимой автоматом, а полезный свойств не добавляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 13:11 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
Dima TMasterZivОпределить в какой кодировке содержимое невозможно. это надо ЗНАТЬ. Возможно - эвристикой. В разных кодировках есть диапазоны кодов используемых в одной и неиспользуемых в другой. У меня так распознавание CP1251 и CP866 сделано. Данная эвристика полезна когда пользователь-оператор "проглядывает" глазами результат конверсии. 99% эвристика угадывает. Но для коротких сообщений сложно принять точное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 13:48 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
maytonДанная эвристика полезна когда пользователь-оператор "проглядывает" глазами результат конверсии. 99% эвристика угадывает. Но для коротких сообщений сложно принять точное решение. Добавь третье состояние "нераспознано", которое вызывает ошибку обработки и точность повышается до 99.99%. А так на то он и текст, чтобы его в итоге кто-нибудь прочитал. Лично мне это жизнь сильно упростило при работе с DBF со стороны: одни понагенерят всякими кривыми генераторами (в заголовке 1251 данные 866 или наоборот), другие звонят - "у нас какая-то фигня загрузилась" Объемы данных достаточно большие, ошибок распознавания не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 14:02 |
|
||
|
Функция для чтения файла на WinAPI
|
|||
|---|---|---|---|
|
#18+
Ты не работал в *телекомах. Акт испорта данных от AMA,ESS, подписывают люди. Они по любому смотрят глазами на данные. Декодинг cp866/1251 я тоже делал. Как и все. Но это была дополнительная фича. Кроме того после смерти dbf-импорта мы стали грузить данные через XML системы а там вопрос кодировок был решёл окончательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 15:32 |
|
||
|
|

start [/forum/moderation_log.php?user_name=%D0%B2+%D1%8F%D0%B4%D1%80%D0%B0%D1%85+GPU+%D0%B2+%D0%BE%D0%B1%D1%85%D0%BE%D0%B4+%D1%88%D0%B8%D0%BD%D1%8B+PCI-E]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 3103ms |
| total: | 3287ms |

| 0 / 0 |
