Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.11.2017, 09:54
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
Я должен прочитать из файла проверочную сумму, 8 байт Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. один из аргументов fread функции - сколько байт прочитать. но байты могут быть записаны и со второй строчки. как задать считываемый размер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 09:57
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7байты могут быть записаны и со второй строчкиКогда читаешь БАЙТЫ, то нет никаких СТРОЧЕК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 09:59
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
Akinajenya7байты могут быть записаны и со второй строчкиКогда читаешь БАЙТЫ, то нет никаких СТРОЧЕК. а если читаю чары? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:03
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7Akinaпропущено... Когда читаешь БАЙТЫ, то нет никаких СТРОЧЕК. а если читаю чары? их в любом случае нет. строки - это форматирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:03
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
Если надо читать построчно - используй fgets() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:08
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7а если читаю чары?Чары - это те же байты, только по-другому интерпретируемые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:08
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
Dima TЕсли надо читать построчно - используй fgets() спасибо. то есть алгоритмика такая читаю строчку - делаю trim на нее - если длина строки 8 - значит найдена нужная строка - сохраняю значение и выхожу. я правильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:11
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
но кстати fgets() тоже имеет аргумен размер строки. а как задать размер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:11
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7Dima TЕсли надо читать построчно - используй fgets() спасибо. то есть алгоритмика такая читаю строчку - делаю trim на нее - если длина строки 8 - значит найдена нужная строка - сохраняю значение и выхожу. я правильно понял? а если непроверочная строка длиной 8 байт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:11
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7Dima TЕсли надо читать построчно - используй fgets() спасибо. то есть алгоритмика такая читаю строчку - делаю trim на нее - если длина строки 8 - значит найдена нужная строка - сохраняю значение и выхожу. я правильно понял? Все зависит от формата файла, который ты читаешь, т.е. вопрос надо задавать тому кто этот файл записал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:12
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
eNosejenya7пропущено... спасибо. то есть алгоритмика такая читаю строчку - делаю trim на нее - если длина строки 8 - значит найдена нужная строка - сохраняю значение и выхожу. я правильно понял? а если непроверочная строка длиной 8 байт? в файле по идее должно быть записанно только 8 байт - checksum пакета данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:14
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7но кстати fgets() тоже имеет аргумен размер строки. а как задать размер? Это не размер строки, а размер буфера, в который читать. Если буфер будет меньше строки, то прочитается только часть, сколько влезет в буфер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:15
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7eNoseпропущено... а если непроверочная строка длиной 8 байт? в файле по идее должно быть записанно только 8 байт - checksum пакета данных. зачем тогда читать построчно? читайте байты подряд и начиная со значимого (для вас) читайте 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:15
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
Dima Tjenya7пропущено... спасибо. то есть алгоритмика такая читаю строчку - делаю trim на нее - если длина строки 8 - значит найдена нужная строка - сохраняю значение и выхожу. я правильно понял? Все зависит от формата файла, который ты читаешь, т.е. вопрос надо задавать тому кто этот файл записал. файл обычный текстовой. в файле записанно только 8 байт - checksum пакета данных. вопрос если я считываю построчно - как я знаю размер строки? в виде я могу открыть текстовый файл и растянуть его как угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:23
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7Dima Tпропущено... Все зависит от формата файла, который ты читаешь, т.е. вопрос надо задавать тому кто этот файл записал. файл обычный текстовой. в файле записанно только 8 байт - checksum пакета данных. вопрос если я считываю построчно - как я знаю размер строки? в виде я могу открыть текстовый файл и растянуть его как угодно. Ничего не понимаю: если в файле ровно 8 байт и их надо прочитать, то откуда взялась вторая строка? Длина прочитанной строки: strlen() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:37
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
Dima Tjenya7пропущено... файл обычный текстовой. в файле записанно только 8 байт - checksum пакета данных. вопрос если я считываю построчно - как я знаю размер строки? в виде я могу открыть текстовый файл и растянуть его как угодно. Ничего не понимаю: если в файле ровно 8 байт и их надо прочитать, то откуда взялась вторая строка? Длина прочитанной строки: strlen() человек открыл файл, нажал пару раз enter - позиция каретки не нулевая , и записал 8 байт. а если так? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:45
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
а если человек между проверочными байтами смайлик нарисует, или в шутку напишет английскими буквами неприличное слово, что тогда? чексумма формируется обычно автоматом. а если какой-то идиот ее испортит, то он же может и еще чего-то испортить и пусть оно не проходит проверку. имхо...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:48
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
Vladimir Baskakovа если человек между проверочными байтами смайлик нарисует, или в шутку напишет английскими буквами неприличное слово, что тогда? чексумма формируется обычно автоматом. а если какой-то идиот ее испортит, то он же может и еще чего-то испортить и пусть оно не проходит проверку. имхо...... я не делаю защиту от полных идиотов, их там по идее не допустят, но если рука дрогнула и сумма прописалась не с нулевой позиции - обычное дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:50
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
странно - у ьеня на строке while ((c = fgetc(file)) != EOF) ругается Warning[Pe514]: pointless comparison of unsigned integer with a negative constant char у меня в компиляторе знаковый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:51
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
Если задача стоит "где-то внутри файла есть 8 символов checksum", то можно и так. Только я бы чуть поправил: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Так прочитается только если 8 символов подряд. И в конце не помешает проверить что прочитано 8. Еще не помешает проверить что файл открылся. И для buff 1024 многовато, достаточно 9 байт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:53
|
|||
|---|---|---|---|
Считать из файла в С. |
|||
|
#18+
jenya7странно - у ьеня на строке while ((c = fgetc(file)) != EOF) ругается Warning[Pe514]: pointless comparison of unsigned integer with a negative constant char у меня в компиляторе знаковый. Потому что fgetc() возвращает int, т.е. надо Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:54
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
Dima TЕсли задача стоит "где-то внутри файла есть 8 символов checksum", то можно и так. Только я бы чуть поправил: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Так прочитается только если 8 символов подряд. И в конце не помешает проверить что прочитано 8. Еще не помешает проверить что файл открылся. И для buff 1024 многовато, достаточно 9 байт. спасибо. да так лучше. а почему у меня на строке while ((c = fgetc(file)) != EOF) ругается Warning[Pe514]: pointless comparison of unsigned integer with a negative constant char у меня в компиляторе знаковый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2017, 10:56
|
|||
|---|---|---|---|
|
|||
Считать из файла в С. |
|||
|
#18+
Dima Tjenya7странно - у ьеня на строке while ((c = fgetc(file)) != EOF) ругается Warning[Pe514]: pointless comparison of unsigned integer with a negative constant char у меня в компиляторе знаковый. Потому что fgetc() возвращает int, т.е. надо Код: sql 1. спасибо. понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1340235]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 267ms |

| 0 / 0 |
