Работа со строкой

Тема в разделе "Общие вопросы по С и С++", создана пользователем ALR, 29 мар 2009.

  1. ALR

    ALR Гость

    (с++ builder)
    Задание: В консольном режиме написать программу удаления лишнего пробела

    Моё решение
    Код (Text):
    #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();
    }
    Компилируется. Поле ввода строки ошибка
    ошибка на строке
    Код (Text):
    if ((s[i]==" ")&&(s[i+1]==" ")){
    В чем может быть ошибка? Или я не правильно работаю со строкой?
    PS если не там создал тему перенесите пожалуйста

    Да и после записи for (i=0;i<=(s->Length())-1;i++) {

    такая же ошибка, с другими адресами на файл dstring.h
    строку return (Data)? GetRec().length : 0;
     
  2. skysun

    skysun Гость

    Если String - класс а не псевдоним char

    Смотри что ты здесь объявил - String s[15]; - это массив из 15 объектов класса String, а не строка из 15 символов.

    здесь scanf("%s",&s); ты передал ссылку на указатель на начала массива.

    s->Delete(i+1,1); удаляешь символ из не существующей строки.
     
Загрузка...
Похожие Темы - Работа со строкой
  1. Whatka
    Ответов:
    3
    Просмотров:
    1.654
  2. gx6060
    Ответов:
    2
    Просмотров:
    408
  3. alexas1
    Ответов:
    1
    Просмотров:
    446
  4. Amfion
    Ответов:
    7
    Просмотров:
    660
  5. Trafik
    Ответов:
    0
    Просмотров:
    532

Поделиться этой страницей