Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
1

Invalid Pointer Operation

01.08.2010, 11:45. Просмотров 1835. Ответов 3
Метки нет (Все метки)


возникла проблема. программа считывает построчно из ValueList Editor строкиб конвертирует в char для дальнейшей побайтовой обработки.
C++
1
2
3
4
5
6
        n=ValueListEditor1->Cells[1][24].Length();
        char *s12=new char[n];
        strcpy(s12, ValueListEditor1->Cells[1][24].c_str() );
        for (int i=0; i<n; i++)
        { command[i+3]=s12[i];}
        delete [] s12;
далее идет работа с char command размер которой почтоянный и убивать е ене надо. просто
по завершении работы со строкой прописываю все байты 0х00ю
при обработке от 1 до 5 строк все в порядке. а при работе с 6 и более строками по завершении работы вапрыгивает Invalid Pointer. Что я делаю не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.08.2010, 11:45
Ответы с готовыми решениями:

Invalid pointer operation
Почему данная конструкция вызывает ошибку &quot;invalid pointer operation&quot;? sizeV = panel.size() - 1, в...

Invalid pointer operation
Вылезает вот такая вот ошибка, код рабочий, на компьютере все работает, как только открываю на...

Invalid Pointer Operation
Приветствую всех неравнодушных к проблемам начинающих). Вопрос собственно по ошибке подскажите...

Invalid pointer operation
Здравствуйте. Пишу программу для заполнения таблицы идентификаторов и когда приступил к ее...

3
Эксперт С++
3941 / 1806 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
01.08.2010, 11:51 2
1. Используйте теги для оформления участков кода, а то читать невозможно.
2. Вместо конструкции:
Цитата Сообщение от Valery_ Посмотреть сообщение
C++
1
2
for (int i=0; i<n; i++)
{ command[i+3]=s12[i];}
пользуйтесь strcat
3. Хотелось бы увидеть более расширенный код.
0
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
01.08.2010, 12:14  [ТС] 3
это по сути и есть весь код. он повторяется 32 раза с разными номерами строк из ValueListEditor.
вот полный кусок кода с переменными:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char command[133];
char zero[1];
char write[1];
char gate[2];
void checksum(xxx, yyy);//функция рассчета контрольной суммы и отправки в ком портю   
for (int i=0; i<sizeof(command); i++) {command [i]=zero[0];        }
                    command[0]=write[0];
        command[1]=gate2[0];
        command[2]=gate2[1];
          n=ValueListEditor1->Cells[1][24].Length();
        if (n==0) { }
        else
        {
        char *s12=new char[n];
        strcpy(s12, ValueListEditor1->Cells[1][24].c_str() );
        for (int i=0; i<n; i++)
        { command[i+3]=s12[i];}
        delete [] s12;
        checksum(command, sizeof(command));//рассчет контрольной суммы и отправка буффера в com port.
0
Эксперт С++
3941 / 1806 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
01.08.2010, 14:08 4
1. Для обнуления используйте функцию memset.
2. Для добавления завершающего нуля выделяйте:
C++
1
char *s12=new char[n+1];
3. Про strcat я уже писал.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2010, 14:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Компонент Label - ошибка Invalid pointer operation
Здравствуйте! Не подскажете, почему у меня косячат компоненты Label? Выдается ошибка Invalid...

Ошибка при выполнении (invalid pointer operation)
Надо рандомезировать массив, первый раз получается, но когда нажимаю на кнопку второй раз выдает...

"Invalid pointer operation"
{ String s=Edit1-&gt;Text.c_str(), r=Edit1-&gt;Text.Length(); String d=Edit2-&gt;Text; int...

Invalid floating point operation
определяю массивы, заполняю нулями: float B1, B2; for(int i=0;i&lt;200;i++) {B1=0, B2=0;} В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.