A
ALR
(с++ builder)
Задание: В консольном режиме написать программу удаления лишнего пробела
Моё решение
Компилируется. Поле ввода строки ошибка
В чем может быть ошибка? Или я не правильно работаю со строкой?
PS если не там создал тему перенесите пожалуйста
Да и после записи for (i=0;i<=(s->Length())-1;i++) {
такая же ошибка, с другими адресами на файл dstring.h
строку return (Data)? GetRec().length : 0;
Задание: В консольном режиме написать программу удаления лишнего пробела
Моё решение
Код:
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <string>
#pragma argsused
int main()
{
int i;
String s[15];
printf("Vvedite stroky \n");
scanf("%s",&s);
for (i=0;i<=15;i++) {
if ((s[i]==" ")&&(s[i+1]==" ")){
s->Delete(i+1,1);
}
}
printf("Stroka posle preobrazovaniia: %s",s);
getch();
}
Компилируется. Поле ввода строки ошибка
ошибка на строкеProject Project2.exe raised exception class EAccessViolation with message "Access violation at address 40006C67. Read of address A2E0A0AB'. Process stopped. Use Step or Run to continue.
Код:
if ((s[i]==" ")&&(s[i+1]==" ")){
В чем может быть ошибка? Или я не правильно работаю со строкой?
PS если не там создал тему перенесите пожалуйста
Да и после записи for (i=0;i<=(s->Length())-1;i++) {
такая же ошибка, с другими адресами на файл dstring.h
строку return (Data)? GetRec().length : 0;