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

start [/forum/topic.php?fid=16&msg=39552724&tid=1340235]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
182ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 281ms |
| total: | 570ms |

| 0 / 0 |
