|
|
|
strtok или new
|
|||
|---|---|---|---|
|
#18+
привет всем. ось - линукс есть код: Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. дочерний процесс один. стабильно завершается по сигналу 11 - ошибка доступа к памяти. причем часто вылетает так, что printf("!%s!\n", massive [j]); отрабатывает наполовину, т.е. первый ! есть а завершаеющего нет. в чем моя ошибка? буду рад любому мнению по поводу кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 10:08 |
|
||
|
strtok или new
|
|||
|---|---|---|---|
|
#18+
Во первых, не советую использовать new. New это команда из C++, в С надо использовать malloc(). Не особо критично, но нехорошо :) Во вторых, не нужно обнулять буфер перед копированием. Убери строку с bzero() совсем. Выделение памяти и проверка: Код: plaintext 1. Код: plaintext 1. Ну и в конце, концов: А ты уверен что massive_size совпадает с реальным размером массива? :) Если massive объявлен константного размера, то проверку Код: plaintext Код: plaintext Иначе можно играться с перераспределением памяти под него через функцию realloc(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 20:06 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2032393]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 372ms |

| 0 / 0 |
