|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
Есть код записи строки в текстовый файл, но почему-то он не записывает...:-( im_f="xxx.txt" ifp = FOPEN(im_f) DO WHILE !FEOF(ifp) per = FGETS(ifp) IF AT('+++++++',per)<>0 per3=STRTRAN(per,'+++++++','-------') =fwrite(ifp,per3) endif ENDDO = FCLOSE(ifp) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2014, 11:27 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
ifp проверять надо Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2014, 11:59 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
видоизменим код и внутрь условия введём messagebox(per), условие срабатывает и показывается messagebox, т.е. файл открывается и читается нормально (атрибуты файла, тоже в порядке, напрямую вхожу и могу изменить, т.е. на запись файл тоже открыт) но вот запись из фокса не происходит(файл кроме этой задачи больше нигде не открыт) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2014, 12:09 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
Читай про второй параметр FOPEN(), по дефолту 0 - открыть на чтение. helpFOPEN(cFileName [, nAttribute]) Parameters cFileName ... nAttribute Specifies read/write privileges or a buffering scheme for the file you open. The following table lists each number you can include in nAttribute, and the read/write file privileges and buffering scheme it establishes. nAttribute Read/Write privileges Buffered/unbuffered 0 (Default) Read-only Buffered 1 Write-only Buffered 2 Read and Write Buffered 10 Read-only Unbuffered 11 Write-only Unbuffered 12 Read and Write Unbuffered тебе надо Код: sql 1.
и работать все-равно будет неправильно, т.к. прочитав строку, указатель перейдет на начало следующей и писать ты будешь поверх следующей. Если файл небольшой (до 1-2 Мб) лучше так Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2014, 12:37 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
У функции FOPEN() есть второй параметр, необязательный, определяет, открывается ли файл только для чтения или для чтения/записи, буферизованно или нет. По умлочанию этот параметр =0, Read-only, используйте, например, 2 Read and Write Код: sql 1.
...И будет вам счастье. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2014, 12:37 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
файл большой, наверное можно как-нибудь запомнить и вернуть назад указатель.. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 06:31 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
1. Ты открываешь файл только на чтение, надо чтение запись Код: sql 1.
2. fseek() возвращает смещение относительно начала файла, поэтому перед записью так Код: sql 1.
PS Еще учти что такая конструкция будет работать только если одинаковая длина у исходной и вставляемой строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 07:03 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
Чёрт, да забываю я тут 2 ставить(FOPEN(im_f, 2) ), в исходниках стоят, а когда сюда переношу, то пропускаю эту 2 т.е. если длина одинаковая строки начальной и конечной ... очень печально.... А как же выйти из этой ситуации... Мало того, что файл большой, так в нём длина строки может встречаться за 255 символов... и это не одно выражение которое надо сменить..., и если применять FileToStr+strtran, то она каждый раз при новом условии(+ на -, * на ^ и т.д.), будет начинать поиск с начала файла... Блин...что же придумать... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 07:13 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
Да, вот что подумал... правда не знаю как реализовать, читается с одного файла строка, изменяется и пишется в другой... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 07:16 |
|
Почему не записывается строка в файл...
|
|||
---|---|---|---|
#18+
Строки более 255 символов: Код: sql 1.
q1w1e1Да, вот что подумал... правда не знаю как реализовать, читается с одного файла строка, изменяется и пишется в другой... Обычно именно так и делают. Создается временный файл в той же папке где исходный, исходный файл читается, пишется во временный, по окончанию закрываешь оба файла, удаляешь исходный, временный переименовываешь в исходный. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2014, 07:34 |
|
|
start [/forum/topic.php?fid=41&fpage=31&tid=1582608]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 154ms |
0 / 0 |