|
|
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Всем привет! Читаю файл построчно вот таким образом while(!feof(fp)){ fgets(str, 925, fp); /////////Íîìåð äîêóìåíòà *str_tmp = 0; strncpy(str_tmp, str+33, 3); str_tmp[3] = '\0'; SG_DOC->Cells[0][count] = str_tmp; count++;} Почему все строки из файла прочитываются по два раза? Как исправить ситуацию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:56 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Блин, читай весь файл сразу, потом парсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:58 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
АлексейПыриковSG_DOC->Cells[0][count] = str_tmp; в одну и ту же ячейку все строки читаешь ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:00 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
А при чём тут парсить? Я просто читаю тестовый файл состоящий из строк? Мне нужно прочитать файл построчно... Считалась строка - вытащил из неё куски, следующую прочитал - вытащил из неё куски и т.д.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:00 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
НА SG_DOC внимания не обращаем.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:01 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
А притом что строки за тебя кто разбирать будет ? Пушкин что ли ? Ты же построчно хочешь. Как минимум ловить в буфере нужно будет '\0' + '\n' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:02 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Так поясните, как правильно сделать нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:06 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
http://www.firststeps.ru/ Вам сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:12 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Понятно.... Одни спецы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:13 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Зря обижаешься. Там действительно все расписано. Я частенько туда заглядываю. Мне какой резон тебе шнягу советовать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:16 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
а как ты понял, что строки считываются дважды ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:26 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
При считывании в StringGrid строк получается в два раза больше чем в файле.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:31 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
925 откуда взялось ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:32 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Длина строки в файле... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:37 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
А откуда ты решил что она именно такая ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:38 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Посмотрел в файле... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:38 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Ты привел не весь код. Ты не привел пример данных и что получается И наехал, что тебе не помогают Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:51 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
А 33 что такое? А 3? авторПочему все строки из файла прочитываются по два раза?Они считываются по 1-му разу. Только потом с ними что-то несусветное делают. В жизни большего бреда не видел... авторКак исправить ситуацию? 1. Понять, что нужно сделать со считанной строкой. 2. Сделать именно это. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:53 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Из считанной строки нужно считать кусок от символа N до символа N1 и результат запихнуть в ячейку StringGrid... Жду вариантов.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:56 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
АлексейПыриковЖду вариантов я бы вобще все не так сделал :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 15:59 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 16:04 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас АлексейПыриковЖду вариантов я бы вобще все не так сделал :) Ну чего вы человека мучите )) Расскажите ему, в конце концов, про StringGrid->Rows->LoadFromFile() )) to АлексейПыриков ты бы хоть в Help слазил прежде чем спрашивать, что-ли... Ээээх, ваще народ разленился... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 16:16 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Dmitrii K.DK> Ну чего вы человека мучите )) DK> Расскажите ему, в конце концов, про DK> StringGrid->Rows->LoadFromFile() )) нееее, не скажу не факт, что там, в файле, строки, оканчивающиеся переводом строки. Я ж говорю: мало входной информации, отвечать нечего, только зубы поскалить разве что дак он обижается, ну и ладно, ему надо, не мне Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 16:36 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
могу предположить, что строки разделяются двумя символами новой строки, у дебаггера какое мнение по этому поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:05 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
кстати, 925 - это точная длина строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:07 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Да не обижаюсь я... Жду любых советов.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:19 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
АлексейПыриковЖду любых советов долго будешь ждать 1. ты весь код привел ? возможно проблема не в чтении файла 2. как определил, что строки именно удваиваются ? (может просто одна и таже везде ? или может файл кривой ?) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:20 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
АлексейПыриковВсем привет! Читаю файл построчно вот таким образом while(!feof(fp)){ fgets(str, 925, fp); /////////Íîìåð äîêóìåíòà *str_tmp = 0; strncpy(str_tmp, str+33, 3); str_tmp[3] = '\0'; SG_DOC->Cells[0][count] = str_tmp; count++;} Почему все строки из файла прочитываются по два раза? Если 925 - точная длина строки и все строки одинаковой длины (а похоже так оно и есть, хотя и странно), то происходит примерно следующее: 1. fgets читает 925 символов (то есть всю строку кроме самого символа конца строки) 2. работа очередной итерации цикла....заполняется ячйка грида куском считанного буфера 3. fgets находит тот самый несчитанный "конец строки", считывает его (и больше ничего!) при этом не изменяя содержимое str 4. работа очередной итерации цикла....заполняется ещё одна ячйка грида куском "старого" буфера 5. ну и так далее... АлексейПыриковКак исправить ситуацию? Поставить 926 :) и почитать справку по fgets ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:24 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Dmitrii K.Поставить 926 :) я бы вобще отказался от работы через gets, раз строки фиксированной длины. CreateFileMapping + вычитывание определенных кусков в цикле = реальный выигрыш в скорости. А еще если отказаться от стринггрида в пользу drawgrid - тогда вобще песня а апофеозом станет отказ от плоских файлов в пользу СУБД Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:29 |
|
||
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас Dmitrii K.Поставить 926 :) я бы вобще отказался от работы через gets, раз строки фиксированной длины. CreateFileMapping + вычитывание определенных кусков в цикле = реальный выигрыш в скорости. А еще если отказаться от стринггрида в пользу drawgrid - тогда вобще песня а апофеозом станет отказ от плоских файлов в пользу СУБД Есть предложение автору топика протестировать предложенные методы, сравнить производительность и результат выложить на форум )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 17:45 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2030987]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
3ms |
| others: | 214ms |
| total: | 466ms |

| 0 / 0 |
