Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
все привет! есть задача распарсить массив данных. Структура данных очень простая, это плоская таблица в которой строки разделены символом '\n' а колонки символом '\t' вот пример Код: 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. код рабочий но, что то мне подсказывает что не очень он оптимизирован, например мне не нравится то что переменные типа wchar_t в функциях ReadLn и ReadCol оборачиваются в UnicodeString, во вторых для чтения из буфера данных не обязательно его перестраивать постоянно для того чтобы в следующей итерации читать сначала буфера, а можно например читать X символов с N позиции. вопрос: как оптимизировать чтение данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 12:06 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
Mandarin, я не думаю, что здесь что-то надо о оптимизировать . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 12:34 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
MasterZivMandarin, я не думаю, что здесь что-то надо о оптимизировать .другое дело, что непонятно, задлянафига он использует эти все wchar_t и LPWSTR. Mandarin, что мешает везде использовать UnicodeString? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 12:44 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
egorychMasterZivMandarin, я не думаю, что здесь что-то надо о оптимизировать .другое дело, что непонятно, задлянафига он использует эти все wchar_t и LPWSTR. Mandarin, что мешает везде использовать UnicodeString? я как то раз проводил эксперимент по склеиванию строк wcscat() работало на порядки быстрее чем UnicodeString + UnicodeString, поэтому я для себя решил там где нужна скорость работаю с wchar_t там где нужно удобство с UnicodeString. Возможно я ошибаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 13:01 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
Mandarinтам где нужна скорость работаю с wchar_t там где нужно удобство с UnicodeString.имхо, тут главный тормоз - Memo1, поэтому как ты там распарсиваешь строки - совершенно всё равно. PS а вообще, ты впадаешь в ересь преждевременной оптимизации )) пока профайлер не показывает где именно находится узкое место, имеет смысл писать понятный и читаемый код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 13:26 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
egorychMandarinтам где нужна скорость работаю с wchar_t там где нужно удобство с UnicodeString.имхо, тут главный тормоз - Memo1, поэтому как ты там распарсиваешь строки - совершенно всё равно. PS а вообще, ты впадаешь в ересь преждевременной оптимизации )) пока профайлер не показывает где именно находится узкое место, имеет смысл писать понятный и читаемый код. Memo1 это только для примера, а что такое профайлер и с чем его едят? первый раз про него слышу у меня IDE C++ Builder XE10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 14:11 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
Mandarin, P.S. оптимизация не бывает преждевременной :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 14:12 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
MandarinMandarin, P.S. оптимизация не бывает преждевременной :) Mandarinа что такое профайлер и с чем его едят? Это, в частности, говорит о преждевременности оптимизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 14:15 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
Можно воспользоваться: CommaText TButton TStringGrid TOpenTextFileDialog Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 15:43 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
Фейспалм. Пусть уж лучше останется первая версия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 17:48 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
http://www.sbin.org/doc/HOWTO/C Programming-HOWTO-7.html Надо сразу нормально писать код, это не относится к преждевременной оптимизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 19:32 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
Тут достаточно много примеров парсеров. Только заменить запятую на табулятор. http://stackoverflow.com/questions/1120140/how-can-i-read-and-parse-csv-files-in-c ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2015, 20:16 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
Mandarin, чтобы разбирать (parse-ить) быстро, надо это делать без выделений памяти. Попробуйте так: Код: 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. P. S. 2015-ый год на дворе, а форум в C++-коде не раскрашивает синим «wchar_t», зато раскрашивает «Delete» (с большой буквы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 04:08 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 01:25 |
|
||
|
Помогите пожалуйста написать парсер для текстового файла
|
|||
|---|---|---|---|
|
#18+
ДохтаР, да, если при разборе допустимо менять содержимое буфера, то можно попробовать wcstok: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 02:44 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=42&tid=2018784]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 273ms |
| total: | 421ms |

| 0 / 0 |
