Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Размер массива char больше чем должен быть
|
|||
|---|---|---|---|
|
#18+
Всем привет! Вот такой код есть: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. вот после этой строчки Код: plaintext 1. strlen(dest) возвращает 16, хотя start_char==2, end_char==4. По идее должно возвращать размер 2 ну из-за того, что strlen(dest)==16, вот здесь Код: plaintext 1. получаю дофига лишних символов. Заранее благодарю за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2012, 12:47 |
|
||
|
Размер массива char больше чем должен быть
|
|||
|---|---|---|---|
|
#18+
strlen работатет до terminating null-character'а. strcat работатет от terminating null-character'а. В dest'е после new у Вас мусор в котором где-то этот terminating null-character. memset сразу опосля new спасет отца русской демократии... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2012, 13:18 |
|
||
|
Размер массива char больше чем должен быть
|
|||
|---|---|---|---|
|
#18+
MaximuS_G[/src] strlen(dest) возвращает 16, хотя start_char==2, end_char==4. По идее должно возвращать размер 2 ну из-за того, что strlen(dest)==16, вот здесь strlen() считает длину строки, на которую указывает указатель. У тебя указатель есть, но строки там нет. К тому же ты возможно выделяеш мало памяти под строку -- не учитываеш оконечный '\0', на него тоже нужно выделять память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2012, 14:01 |
|
||
|
Размер массива char больше чем должен быть
|
|||
|---|---|---|---|
|
#18+
MasterZivК тому же ты возможно выделяеш мало памяти под строку BTW - да MaximuS_Gstart_char==2, end_char==4. По идее должно возвращать размер 2 для цикла MaximuS_G Код: plaintext 1. это будет 3 (три) символа... Ну и MasterZivне учитываеш оконечный '\0', на него тоже нужно выделять память. итого Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2012, 14:15 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=90&tid=2020713]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 152ms |

| 0 / 0 |
