|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.03.2015, 18:06 | #1 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 22
|
char*. Как определить размер строки?
Добрый день!
Вопрос вроде бы на первый взгляд простой, но ответ на него найти не получается. Как определить разме строки? Результат ниже приведенного кода: Код:
Код:
|
29.03.2015, 18:45 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Код:
I'm learning to live...
|
29.03.2015, 19:04 | #3 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 22
|
Хорошо, согласен, тогда усложняю задачу
Код:
|
29.03.2015, 19:07 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Не удивительно )
Я вообще удивлен что программа дошла до вызова функции, а не вылетела раньше. Ты массив buf описать - описал, а память под него не выделил. Вот и лезет AV.
I'm learning to live...
|
29.03.2015, 19:11 | #5 |
Пользователь
Регистрация: 29.01.2009
Сообщений: 22
|
Да, но это не решает задачи, размер буфера не определился все рвно.
Но ошибка ушла Код:
|
29.03.2015, 19:26 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
JPG файл не есть строка.
Зачем определять длину строки, если у нас есть размер файла? Передавайте размер как второй аргумент - proc(char* buf, int len); |
29.03.2015, 19:37 | #7 | |
Пользователь
Регистрация: 29.01.2009
Сообщений: 22
|
Цитата:
Причем передаваться в процедуру может любая строка, будь то загруженная из файла или введенная руками |
|
29.03.2015, 19:38 | #8 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 671
|
Во-первых, разобраться с представлением строк, почитать про нуль-терминатор. Во-вторых, учесть то, что fread не добавляет нуль-терминатор в конец прочитанного.
|
29.03.2015, 19:41 | #9 | |
Пользователь
Регистрация: 29.01.2009
Сообщений: 22
|
Цитата:
Код:
Код:
|
|
29.03.2015, 19:45 | #10 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 671
|
Вы читаете не текст, откуда знаете что внутри прочитанного не используется '\0' ? Для оценки размера, fread возвращает количество прочитанных элементов.
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить размер физического диска? | Robin_ | Общие вопросы Delphi | 7 | 18.01.2016 07:11 |
Как определить размер видеостраницы | axeforever12009 | Помощь студентам | 2 | 18.06.2013 17:01 |
Как определить размер структуры | stpdqstns | Общие вопросы C/C++ | 10 | 30.01.2013 19:02 |
неопределённый размер строки типа char | _KUL | Общие вопросы C/C++ | 4 | 16.05.2012 19:54 |
Как в Delphi определить размер файла? | Nomad | Помощь студентам | 7 | 10.08.2010 08:33 |