Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Господа, подскажите, пожалуйста, как можно разбить одномерные чаровский массив на составляющие через определенное кол-во символов (например, через 1024)? Я начала делать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. И загвоздка... После первого цикла массив temp я передаю и его можно заполнять заново, а вот массив исходный надо продолжать, а он у меня будет считываться заново :( Как это побороть? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 05:21 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
А потом мне надо будет из кусочков склеить один чаровский массив. Те же проблемы возникают... P.S. В строки переводить не могу, нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 05:24 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретный Код: plaintext 1. В зависимости от того, что именно. Если ты хочешь передавать куски в функции работы со строками, то тебе просто нужен массив с нулём на конце. Т.е. алгоритм такой: 1. запоминаешь (i+1)*1024-й символ из src 2. на его место пишешь ноль 3. "что-то делаешь" с &src[i*1024] 4. возвращаешь (i+1)*1024-й символ на место если это просто массив, то пункты 1,2,4 делать не надо, надо просто чтобы код "что-то делаю" знал про длину ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 05:52 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Блин, циул-то у меня вообще бредовый получился... Исходное кол-во элементов, естественно, может быть не кратно 1024 и надо будет учитывать оставшийся хвост. Жесть...( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 05:53 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Есть ещё функция strncpy, которая копирует заданное число символов. Это чтобы вручную не копировать, если выбран именно путь копирования. Код будет выглядеть проще. И после копирования этой функцией не забыть в конце скопированного массива нуль поставить (если планируется с массивом работать как со строкой) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 07:16 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
CEMb, дело в том, что у меня там в массиве изначальном нуль как раз-таки и сидит, но мне он нужен - т.е. я не работаю как со строкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 09:20 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретный, открой для себя memcpy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 09:23 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретныйА потом мне надо будет из кусочков склеить один чаровский массив. Те же проблемы возникают... P.S. В строки переводить не могу, нельзя. как бы если бы такую элементарщину не можешь сделать, зачем было браться? а то у людей работы нет, а я тут на форуме отвечай всяким недоучкам, как с массивами работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 10:46 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретныйА потом мне надо будет из кусочков склеить один чаровский массив. Те же проблемы возникают... Избавься от обеих задач махом: "делай что-то" непосредственно с src. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 13:03 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov ,Dimitry SibiryakovИзбавься от обеих задач махом: "делай что-то" непосредственно с src. когда возникает ограничение на чтение/запись данных (через Ini-файл) в размере 1024, то source приходится делить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 17:34 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретныйкогда возникает ограничение на чтение/запись данных (через Ini-файл) в размере 1024, то source приходится делить. Избавься и от ini-файла, работай с ним как с обычным текстом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 17:54 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретный Dimitry Sibiryakov ,Dimitry SibiryakovИзбавься от обеих задач махом: "делай что-то" непосредственно с src. когда возникает ограничение на чтение/запись данных (через Ini-файл) в размере 1024, то source приходится делить. Для работы ини есть соответстующее WinAPI GetPrivateProfile...() / WritePrivateProfile ... () Но как БД ини лучше не использовать, лучше использовать БД. Тот же SQLite например. Ини он только для чтения должен быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 19:18 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovИзбавься и от ini-файла, работай с ним как с обычным текстом. у человека с массивами проблемы, а ты ему предлагаешь с файлом работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 23:20 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Dima TИни он только для чтения должен быть.вот ведь как, неожиданно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 23:21 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
egorychу человека с массивами проблемы, а ты ему предлагаешь с файлом работать В отличии от массивов, построчная работа с файлами описана в любом букваре. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 23:28 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Dima T ,Dima TНо как БД ини лучше не использовать, лучше использовать БД. Тот же SQLite например. Ини он только для чтения должен быть.Я понимаю, но не могу отходить от задания, в котором сказано в качестве БД использовать ini-файл, вот и мучаюсь (спасибо преподу). Dima TДля работы ини есть соответстующее WinAPI GetPrivateProfile...() / WritePrivateProfile ... ()Думаете, эти функции снимают ограничения? У меня данные в итоге должны записываться в HEX-виде (соответствующую WinAPI-шную функцию не обнаружил). У TIni для этого использую WriteBinaryStream() и ReadBinaryStream() . Write вроде как пишет любое количество, а вот ReadBinaryStream считывает почему-то только 1024 :( Я зашел в исходники Inifiles.pas, обнаружил, что ReadBinaryStream использует ReadString: Код: pascal 1. 2. 3. 4. 5. 6. 7. Видно, что здесь задается Buffer . Только он тут почему-то 2047, а не 1024 (что я получаю на практике). Меняю это значение на 10000, например, и также считываются 1024 символа в итоге :( Правда, тут есть есть некая функция SetString, но я не понял откуда она пришла в Inifiles.pas... В общем-то, конечно, хотелось бы решить проблему с 1024, но корректировка этого буфера ничего не дала... Странно это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 17:02 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
А ну вон и GetPrivateProfileString (я не только тупой, я и ещё и слепой). Только ограничение в 1024 вообще непонятно в таком случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 17:12 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Оказывается, надо просто задействовать класс TMemIniFile и проблема решена. Но мне удивительно следующее: если я меняю исходник в pas-файле, то C++ Builder просто это дело проигнорирует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 18:11 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
Ну да, очередную глупость спорол :) На билдере ясен-красен не отразится, а вот на дельфике почему-то тоже не отразилось, хотя там должно. Ладно, это вне темы. Всех благодарю за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 18:19 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретныйCEMb, дело в том, что у меня там в массиве изначальном нуль как раз-таки и сидит, но мне он нужен - т.е. я не работаю как со строкой. не правда for(int i = 0; i < strlen(src); i++) Для деления большого массива на части ничего не нужно копировать, а завести массив указателей и заполнить его смещениями в большом массиве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 23:54 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
д0кХНубикКонкретныйCEMb, дело в том, что у меня там в массиве изначальном нуль как раз-таки и сидит, но мне он нужен - т.е. я не работаю как со строкой. не правда for(int i = 0; i < strlen(src); i++) Для деления большого массива на части ничего не нужно копировать, а завести массив указателей и заполнить его смещениями в большом массиве. даже этого не нужно, можно в цикле вычислять значение ужастиков на очередной кусок и обрабатывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2017, 10:01 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретныйКак это побороть? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2017, 14:14 |
|
||
|
Разбить массив char на части - возможно?
|
|||
|---|---|---|---|
|
#18+
НубикКонкретный, трудно понять, что вы хотите и что именно не получается))) Напишите обертку, которая будет принимать адрес массива и его длину, и работайте с ним как вам угодно в рамках дозволенного и даже немного больше ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2017, 21:35 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39406972&tid=2018275]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 293ms |
| total: | 585ms |

| 0 / 0 |
