|
|
|
Проблема со считыванием строк
|
|||
|---|---|---|---|
|
#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?fid=57&gotonew=1&tid=2030987]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
13ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 478ms |

| 0 / 0 |
