|
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
|
||||||||||||||||
Преобразование типа char -> char *15.12.2012, 21:02. Показов 2023. Ответов 15
Метки нет (Все метки)
Добрый день, у меня возникла вот такая вот проблема...
При работе парсера, он разделяет строки как и задуманно, но появляются непредвиденные символы, невезь откуда. Скорее всего подозрение падает на преобразование типа char -> char *
p.s Entering param LOADGUI|Uӿ�{e buff LOADGUI=true; преобразование типа имеет следующий вид
Добавлено через 3 часа 59 минут эм, я может что то не так написал, если не получил еще ответа?)
0
|
||||||||||||||||
| 15.12.2012, 21:02 | |
|
Ответы с готовыми решениями:
15
Аргумент типа (const char*) несовместим с параметром типа (char*). Как исправить? |
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||||
| 15.12.2012, 21:18 | ||||
|
Добавлено через 1 минуту Добавлено через 1 минуту Gus, кароче мне кажется, что Вы теряете '\0' Добавлено через 16 секунд
0
|
||||
|
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
|
|||||||||||
| 15.12.2012, 21:25 [ТС] | |||||||||||
|
пробывал! да проблема исчезает. последний символ стирается.
Добавлено через 6 минут так ваши слова не сразу понял коментирую. ExtractString - 1 агрумент указатель входного буфера типа чара, где содержится строка 2 агрумент возвращаемый указатель. 3 Размер буффера (что бы не вылетел из массива) 4 начальная позиция (int) 5 конечная позиция (int) 6 сместить ли массив данных, на длину вырезанной строки(кол во символов) (bool)
0
|
|||||||||||
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||
| 15.12.2012, 21:30 | ||
|
Добавлено через 1 минуту Gus, Си-строка нуль-терминированная. Вы должны сами доставить нуль-терминатор.
0
|
||
|
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
|
||||||
| 15.12.2012, 21:36 [ТС] | ||||||
|
попробуем... тогда с \0
хотя не правильно сделал, сейчас по другому попробую.
0
|
||||||
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 15.12.2012, 21:38 | |
|
да, работа с голыми указателями - она такая. чревата крашами и глюками.
почему вы не пользуетесь скажем std::string? планируете парсить миллионы строк и это типа оптимизация?
0
|
|
|
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
|
||||||
| 15.12.2012, 21:40 [ТС] | ||||||
Добавлено через 51 секунду согласен затея г..но, но как то привычнее работать с чаром. да и понятнее для мну будет немного. что я делаю и почему я это делаю)
0
|
||||||
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||
| 15.12.2012, 21:42 | ||
стоит один раз освоить std::string и много много геморроя уйдет. к тому же осваивать там нечего, все просто и понятно.
0
|
||
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|||||||
| 15.12.2012, 21:46 | |||||||
0
|
|||||||
|
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
|
|||||||
| 15.12.2012, 21:48 [ТС] | |||||||
|
я пользовался string AnsiString но в конечном счете мне более по нраву char.
Добавлено через 1 минуту
0
|
|||||||
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
| 15.12.2012, 22:09 | |
|
0
|
|
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 15.12.2012, 22:11 | |
|
вот накидал по быстрому примерно то, чего вы хотите сделать:
http://liveworkspace.org/code/4piPYI$4 задача свелась к подзадачкам: нужно как-то перечислять строки из файла. делается. просто. нужно более навороченный парсер, скажем чтобы строки 'key = value' были корректными. ну и остается просто правильно интерпретировать строки в получившейся мапине. это для сравнения. больше половина кода - это тупо обработка ошибок. без обработки все вообще трехстрочное.
1
|
|
|
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
|
|
| 16.12.2012, 00:46 [ТС] | |
|
но к сожалению проблема не ушла.
Добавлено через 2 часа 27 минут зачем так жить если возникает ошибка Core dumped?
0
|
|
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 16.12.2012, 00:55 | |
|
это типа ап такой чтоли?
вы сказали голые указатели вам понятнее и проще. вот радуйтесь. вроде все просто, но ошибится в индексах, залезть не в ту память и получить краш - это как здрасти. более высокоуровневые классы придумали не от хорошей жизни. пользуйтесь ими. и второй совет: освойте отладчик той среды, в которой работаете. подобного рода краши с отладчиком находятся и исправляются без особых проблем.
1
|
|
|
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
|
|
| 16.12.2012, 13:20 [ТС] | |
|
Кхмм. странно... в Debug режиме программа не выдает этой ошибки.
в режиме Release ошибка появляется. Используется стандартный отладчик GDB
0
|
|
|
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
|
||||||
| 20.12.2012, 19:20 [ТС] | ||||||
как быть с данной проблемой по существу (появление загадочных символов) Добавлено через 3 часа 34 минуты up!!! Добавлено через 1 час 11 минут народ, эта проблема тормозит процесс разработки... помогите. Добавлено через 44 минуты Решил вроде бы, как проблему но не так как задумал...
0
|
||||||
| 20.12.2012, 19:20 | |
|
Помогаю со студенческими работами здесь
16
Как полю класса типа char* присвоить значение типа *char Аргумент типа const char* несовместим с параметром типа char* в классе Условие типа if( масив типа char[x] [y] != переменная типа char) не срабатывает
Добавление в массив типа char * одного элемента типа char Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает
Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|