![]() |
#1 |
Участник
|
Переполнение во внутреннем стеке компилятора.
Добрый вечер.
Создаю файл классом CommaIo: PHP код:
Переполнение во внутреннем стеке компилятора. Пробовал создать файл с помощью классов AsciiIo, BinaryIo - тот же результат. Как же запихнуть в файл столько значений? |
|
![]() |
#2 |
Участник
|
Обратный слэш в строке работает как спец.символ.
его надо экранировать - писать два обратных слэша |
|
![]() |
#3 |
Участник
|
Это я знаю, более того в коде так и записано:
commaIo = new CommaIo(fileDir + '\\_DOC.DBF', "W"); не знаю, почему так отобразилось в посте В общем дело не в этом |
|
![]() |
#4 |
Участник
|
форум тоже воспринимает как спец.символ
![]() тогда не знаю. правда я не пробовал использовать символ _ в названиях файлов... а как много значений у вас в аргументах write? может можно уменьшить? |
|
![]() |
#5 |
Участник
|
С названием все в порядке
![]() ![]() Может как-то в 2 захода писать? правда 2 раза write создают 2 строки, что конечно логично, но нужна-то одна.. |
|
![]() |
#6 |
Участник
|
не знаю. передавать 60 за раз еще не пробовал.
поэкспериментируйте с количеством параметров методом дихотомии. 5 экспериментов вполне достаточно. скорее всего, собака здесь и порылась. а перевод строки - уберите разделитель записей и вставляйте '\n' вручную, когда необходимо. |
|
![]() |
#7 |
экс-модератор
|
CommaIO.writeExp(container p1)
правда, у контейнера тоже, наверно, есть предел размера... |
|
![]() |
#8 |
Участник
|
Вариант с контейнером тоже дал такую же ошибку.
В итоге записываю за 2 раза. Выглядит так: PHP код:
![]() Так или иначе, проблема решена, всем спасибо ![]() |
|