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

Cb++, Символьные и строковые данные в С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Си++, Сортировки http://www.cyberforum.ru/cpp-beginners/thread934635.html
Написать программу, осуществляющую блочную сортировку одномерного массива
C++ Какие книги лучше прочесть? Доброго всем дня! Я только-только начал изучать программирование, и выбрал 1 своим языком - c++. Начал знакомство с книги "C++. Основы программирования - Джефф Кент". После замахнулся на "С++ глазами... http://www.cyberforum.ru/cpp-beginners/thread934633.html
Создание файла с правами C++
Доброго времени суток :) Подскажите: как в Windows и linux создать файл с правами. (777)
C++ Задача Очередь
Очередь (Время: 1 сек. Память: 16 Мб Сложность: 20%) Студент Василий живет в общежитии. Отделение банка, в котором он производит оплату за проживание, имеет всего две кассы, поэтому почти всегда...
C++ dll и функции http://www.cyberforum.ru/cpp-beginners/thread934599.html
у меня есть два проекта dll (компиляция:Win32project->dll где стоит галка Security Development Lifecycle (SDL) checks) так вот два проекта емеют разные имена dll. в каждой dll есть функция которая...
C++ Удаление объекта из контейнера Доброго вечера... Помогите разобраться... Есть класс А: class A { }; В нем метод В: ... void B (std::deque<А> &С , unsigned index); ... И есть контейнер С, который содержит объекты класса А: подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
07.08.2013, 09:52
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
 
#define max(str1, str2) (((unsigned)strlen(str1)) < ((unsigned)strlen(str2))) ? 1 : 0 \
 
#define diff(str1,str2) abs(((int)(strlen(str1) - strlen(str2)))) \
 
int main(int argc, char* argv[])
{
    char str_a[256] = "is not\0";
    char str_b[256] = "is\0";
    char str_c[256] = "C++ is not object oriented programming language\0";
 
    printf("str_a=%s\nstr_b=%s\nstr_c=%s\n",str_a,str_b,str_c);
 
    char* buf = NULL; 
    if ((buf = strstr(str_c, str_a)) != NULL)
    {
        bool b = max(str_a,str_b);
        int len = diff(str_a,str_b);
        while (--len >= 0 && b != false)
            for (int t = strlen(str_c)-1; t >= (buf+strlen(str_a))-str_c; t--)
                str_c[t+1] = str_c[t];
 
        if (b == false) len++;
 
        while (--len >= 0 && b == false)
            for (int r = buf-str_c; str_c[r] != '\0'; r++)
                str_c[r] = str_c[r+1];
 
        unsigned int i = 0;
        while (i < strlen(str_b)) *buf++ = str_b[i++];
    }
 
    printf("\nstr_c=%s\n",str_c);
 
    _getch();
 
    return 0;
}
http://codepad.org/ixuwjARo
1
Миниатюры
Cb++, Символьные и строковые данные в С++  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru