Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
В студии работает, а в консоли вылетает(Си)
|
|||
|---|---|---|---|
|
#18+
Программа на Си для подсчета сколько раз каждое слово встречается в тексте, с использованием хештаблицы. Написана в VS 2013 при запуске локальным отладчиком работает, а при запуске из консоли вылетает. hash.c Код: 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. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. hashhead.h Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. hashtest.c Код: 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. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2016, 19:08 |
|
||
|
В студии работает, а в консоли вылетает(Си)
|
|||
|---|---|---|---|
|
#18+
vlladimirа при запуске из консоли вылетает А она, случайно так, при этом не пишет "многа нипанятных букафф", включающих в себя точную причину и место ошибки, а так же call stack, приведших к этому?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2016, 19:36 |
|
||
|
В студии работает, а в консоли вылетает(Си)
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Нет просто вылетает и все (Прекращена работа программы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2016, 20:03 |
|
||
|
В студии работает, а в консоли вылетает(Си)
|
|||
|---|---|---|---|
|
#18+
vlladimirНет просто вылетает и всене удивительно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. выход за пределы массива всегда заканчиваются не приятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2016, 21:00 |
|
||
|
В студии работает, а в консоли вылетает(Си)
|
|||
|---|---|---|---|
|
#18+
"что только не делают люди чтобы не использовать ..." wc или вот так "юзай wc а то будет wc" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2016, 21:21 |
|
||
|
В студии работает, а в консоли вылетает(Си)
|
|||
|---|---|---|---|
|
#18+
vlladimir Код: plaintext 1. 2. 3. Вы запрашиваете блок памяти размером с указатель, а надо запрашивать блок памяти размером с node: Код: plaintext 1. vlladimir Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Так лучше не писать, потому что функция strlen вызывается на [i]каждой итерации цикла. Вообще, для поиска char-а в ноль-завершаемой строке есть стандартная функция strchr : Код: plaintext 1. 2. 3. 4. 5. 6. 7. vlladimir Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Отмеченная строка не нужна. vlladimir Код: plaintext 1. Все современные компьютеры оснащены гигабайтами оперативной памяти, поэтому при работе с текстовыми файлами в большинстве случаев нет смысла заморачиваться на чтение файла по кусочкам. Проще загрузить весь файл в один буфер, и работать с ним как с большой строкой, например так: Код: 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. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. Обработку ошибок не писал, чтобы код был проще. Но по-хорошему, ошибки надо обрабатывать. Есть два способа: коды возврата и исключения ( setjmp / longjmp , или тупо exit ). Какой способ лучше -- holy war. egorychvlladimirНет просто вылетает и всене удивительно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. выход за пределы массива всегда заканчиваются не приятноА там как раз массив длины 256: vlladimir Код: plaintext 1. 2. 3. поэтому с индексом всё нормально. А то, что в заголовках функций написано «struct node *a[255]», значения не имеет, потому что длина массива реально не передаётся. Но лучше конечно поправить, а то сбивает с толку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2016, 22:58 |
|
||
|
В студии работает, а в консоли вылетает(Си)
|
|||
|---|---|---|---|
|
#18+
Пётр Седов, Спасибо огромное! n = (node*)malloc(sizeof(node)); Дело было в этой строке, после правки все заработало, ну и кое-что еще поправил по вашим советам, еще раз спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2016, 05:13 |
|
||
|
В студии работает, а в консоли вылетает(Си)
|
|||
|---|---|---|---|
|
#18+
vlladimirПётр Седов, Спасибо огромное! n = (node*)malloc(sizeof(node)); Дело было в этой строке, после правки все заработало, ну и кое-что еще поправил по вашим советам, еще раз спасибо!!! не, дело не только в этой строке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:23 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39359906&tid=2018366]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 420ms |

| 0 / 0 |
