Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемы с пробелом http://www.cyberforum.ru/cpp-beginners/thread25772.html
Дан код на Си: #include<stdio.h> #include<string.h> void main() { char s; printf("Vvedite stroky:\n"); scanf("%s",s); for(int i=0;i<strlen(s);i++) {
C++ Методы вычисления определенного интеграла. Здраствуйте, требуется ваша помощь в разработке программы по методам интегрирования. метод Симпсона, Уэддля , Чебышева , Гаусса. Может кто-то когда-то что-то разрабатывал и может поделиться или я... http://www.cyberforum.ru/cpp-beginners/thread25766.html
C++ Строки
Такой вопрос: Дана строка, как из нее выделить подстроку которая начинается и заканчивается на определенные элементы? (индексы элементов известны)
C++ Задача о марсианских факториалах
HEEEELLP!!!!! В 3141 году очередная экспедиция на Марс обнаружила в одной из пещер таинственные знаки. Они однозначно доказывали существование на Марсе разумных существ. Однако смысл этих...
C++ Динамические структуры: линейные списки http://www.cyberforum.ru/cpp-beginners/thread25705.html
Люди помогите:wall: Дали задачу из учебника Павловской Вот вроде смотрю как в учебнике написано про линейные списки все понятно. Как начинаю пытаться решить задачу впадаю в ступор!!:'(:'(:'(...
C++ Практика на С++ Дело вот в чем. Я программист самоучка и учителя у меня не было. Прочитал несколько книг по C++, все понял, со всем разобрался. Но всё это было чисто теоритически, а когда дошел до практического... подробнее

Показать сообщение отдельно
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
12.03.2009, 03:10
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
42
43
44
45
46
47
48
49
50
 
#include <stdio.h>
#include <string.h>
 
#define MAXLINE  1000   /* максимальная длина строки */
 
void DeleteSubsLine(char *l, int left, int right);
void ClearLtGtSubs(char *s);
int Print(const char *s);
 
/* удаляет из строки подстроки с < до > */
main()
{
    char line[MAXLINE] = "abcd<efg>hабвг<деёж>:123.";
    
    ClearLtGtSubs(line);
    return 0;
}
 
/* Print:  выводит строку s с переводом */
int Print(const char *s)
{
    if (puts(s) < 0)
        return EOF;
    return 1;    
}
 
/* DeleteSubsLine:  удаляет из строки l подстроку,
                    начиная с left и заканчивая right */
void DeleteSubsLine(char *l, int left, int right)
{
    char *startp, *endp;
    
    if ((startp = strchr(l, left)) == NULL
     || (endp = strchr(l, right)) == NULL
     || endp-startp < 0)
        return;
    strcpy(startp, endp+1);
}
 
/* ClearLtGtSubs:  удаляет из s все подстроки с < до > */
void ClearLtGtSubs(char *s)
{
    int lt = '<', gt = '>';
    
    Print(s);
    while (strchr(s, lt) != NULL)
        DeleteSubsLine(s, lt, gt);
    Print(s);
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.