Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Atij1
Сообщений: n/a
#1

Удалить все подстроки из строки - C++

13.04.2008, 16:59. Просмотров 825. Ответов 1
Метки нет (Все метки)

Добрый день. У меня возникла следующая проблема: я написал программу кот-ая удаляет все подстроки из строки, она работает нормально до того момента пока я не ввиду подстроку идентичную строке, в "output" выводится "Borland C++ - Copyright 1991 Borland Intl.", и после этого прога не работает даже для тех случаев для кот-ых работала раньше, помогите пожалуйста разобраться в чём проблема. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <fstream.h>
#include <string.h>
#include <stdio.h>
 
ifstream input("input.txt", ios::in);
ofstream output("output.txt", ios::out);
 
void delete_str(char* str1, char* str2, char* str3)
{
    char *ptr = NULL;
 
    str3[0] = '\0';
 
    while ( ptr != strstr(str1, str2))
    {
    ptr=strstr(str1,str2);
    strncat(str3, str1, ptr - str1);
    str1 = ptr + strlen(str2);
    }
 
strcat(str3, str1);
 
output<<"obrazovannaya stroka:"<<endl<<str3;
 
}
 
int main()
{
 
    char str3[256];
    char str1[256], str2[256];
 
    input>>str1;
    output<<"izhodnaya stroka:"<<endl<<str1<<endl;
    input>>str2;
    output<<"izhodnaya podstroka:"<<endl<<str2<<endl;
 
    delete_str(str1,str2,str3);
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2008, 16:59     Удалить все подстроки из строки
Посмотрите здесь:
Удалить из строки все подстроки C++
Удалить из строки все подстроки str2 C++
C++ Удалить из строки S все подстроки, совпадающие с S0
C++ Нужно удалить все подстроки из исходной строки
C++ Удалить из строки каждое вхождение подстроки
В данном тексте подсчитать все вхождения подстроки «abc» и удалить их C++
Распечатать все строки данного файла, содержащие заданную строку в качестве подстроки C++
Как из строки удалить все нечетные слова, а все чётные вывести перевернутыми? C++
C++ Определить длину строки,удалить из строки все символы, которые равны заданному
C++ Строки. В каждом чётном по порядку слове удалить все нечётные буквы, а в каждом нечётном слове удалить все чётные буквы.
Разбить строку на все "связные" подстроки. Получившиеся подстроки записать в вектор C++
Удалить слова, начинающиеся с заданной подстроки, а слова без заданной подстроки, упорядочить по возрастанию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
14.04.2008, 19:53     Удалить все подстроки из строки #2
Запустил в Borland C++ 3.1, не вижу никакой проблемы, вроде работает.
Ответ Создать тему
Опции темы

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