Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
incrome
9 / 9 / 5
Регистрация: 03.07.2012
Сообщений: 60
1

Range check error. Ошибка при присвоении символа переменной типа Char

15.06.2013, 20:12. Просмотров 1353. Ответов 2
Метки нет (Все метки)

Расскажите пожалуйста как так происходит, что когда я присваиваю символ в переменную Chr, он мне пишет, что Range check error. Да я понимаю что за пределами памяти, но как так происходит? Я трачу время просто на такие мелочи хотя работы еще хоть отбавляй! Просто как то все не логично!
Память выделена? Да! "char *chr;"!
Записываю всего 1 символ? Да! chr = (char*)GetName[GetName[Len-ExpCount]];

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
String GetStructFile(AnsiString GetName,UnicodeString Param){
int Len = GetName.Length();
UnicodeString Name,Exp,Path;
char *chr;
int ExpCount;
ExpCount = 0;
 
while (chr != "."){
ShowMessage(GetName[Len-ExpCount]);
 
chr = (char*)GetName[GetName[Len-ExpCount]];
ExpCount++;
ShowMessage(chr);
}
 
for (int i = Len; i != (Len-ExpCount); i--) {
  Exp = Exp + GetName[i];
}
 
return Exp;
 
}
Ладно пусть даже так! Ну не выделилась память под него! Я же и сам могу? "chr = new char[255];"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
String GetStructFile(AnsiString GetName,UnicodeString Param){
int Len = GetName.Length();
UnicodeString Name,Exp,Path;
char *chr;
int ExpCount;
ExpCount = 0;
 
while (chr != "."){
ShowMessage(GetName[Len-ExpCount]);
chr = new char[255];
chr = (char*)GetName[GetName[Len-ExpCount]];
ExpCount++;
ShowMessage(chr);
}
 
for (int i = Len; i != (Len-ExpCount); i--) {
  Exp = Exp + GetName[i];
}
 
return Exp;
 
}
Но черт! Все же не хочет он ничего записывать! Как же так ? Почему в С++ так все мелочно? Почему не может быть просто, выделил память записал, изменил, удалил?
Возможно я вообще неотесанный и тут все решается очень просто! Тогда в этом случае прошу скиньте мне информацию по данному вопросу, что бы я мог зачерпнуть знаний!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2013, 20:12
Ответы с готовыми решениями:

Что означает ошибка Range check error?
Здравствуйте. Что означает ошибка Range check error? У меня при частой записи в Memo Выдается эта...

Range check error
Всем привет. Нужно посчитать количество букв 'a' в строке. Делаю { AnsiString str;...

Range check error
Появилась такая ошибка. Создаю модуль шифрования методом Цезаря. Я так понял, он ругается на...

IdSMTP: Range Check Error
сначала код работал, но вдруг начал выдавать ошибку Range Check Error на строчке...

Русский язык и Range Check Error
Программа запускается, компилируется, но выскакивает Range Check Error и неверно отображается...

2
kzru_hunter
1113 / 782 / 100
Регистрация: 01.02.2011
Сообщений: 1,795
Записей в блоге: 1
16.06.2013, 15:02 2
Цитата Сообщение от incrome Посмотреть сообщение
chr = (char*)GetName[GetName[Len-ExpCount]];
AnsiString::operator[] возвращает char, а не char*
и еще проверьте, чтобы не выходило на пределы индексации AnsiString (индексация от 1 до количества символов)
1
incrome
9 / 9 / 5
Регистрация: 03.07.2012
Сообщений: 60
16.06.2013, 17:38  [ТС] 3
Цитата Сообщение от kzru_hunter Посмотреть сообщение
AnsiString::operator[] возвращает char, а не char*
и еще проверьте, чтобы не выходило на пределы индексации AnsiString (индексация от 1 до количества символов)
На счет char, то я пробовал разные комбинации!
Все же проблема была в том что индексация начинается с 1 символа! Т.е. и цикл должен начинаться с 1 а не с 0;
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2013, 17:38

Вuilder 2010, Range check error
Всем привет... Объясните недалекому человеку... Есть код функции, прекрасно себя ведущей в 6...

в программе во время выполнения возникают 2 ошибки :range check error и connection reset by peer - от чего?
Доброго времени суток! Начал писать программу (нечто вроде удалённого администратора) вот что...

Range check error на android
Здравствуйте уважаемые форумчане. Имеется такой кусок кода: AnsiString XOR (AnsiString key,...


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

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

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