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

Функция для удаления слова из строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать обработчик для класса Vector, который будет ловить следующие ошибки: http://www.cyberforum.ru/cpp-beginners/thread661776.html
Дано задание: Написать обработчик для класса Vector, который будет ловить следующие ошибки: 1. невозможность выделения памяти, причем выводилась информация именно в том методе, в котором не удалось выделить память; 2. выход за рамки границы вектора, причем, выводилась информация именно в том методе, в котором делались попытки выхода за рамки массива; 3. неверный размер массива. ...
C++ Двумерный массив. Найти наименьший элемент матрицы. Напечатать его индексы Найти наименьший элемент матрицы. Напечатать его индексы. Добавлено через 40 секунд помогите пожалуйста http://www.cyberforum.ru/cpp-beginners/thread661767.html
Классы. Объекты. Методы C++
Доброго времени суток! Вот задачка. Я пока начинающий в этом деле, так что не очень понятно... Создать класс "дата". Данные класса должны быть представлены тремя полями: числом, месяцем и годом XXI века. Класс должен содержать конструктор по умолчанию, конструктор, инициализирующий поля класса заданными значениями. Обязательными яв-ся методы, возвращающие значения полей, изменяющие эти...
Поменять местами элементы матрицы C++
Работа с квадратными массивами В задаче рассматривается двумерный массив с одинаковым количеством строк и столбцов; такой массив называют квадратным. Задача: В квадратном массиве из n строк, где n – нечетное число, все элементы различны. Наибольший элемент среди стоящих на главной и побочной диагоналях поменять местами с элементом, стоящим на пересечении этих диагоналей.
C++ Прошу сказать, правильно ли я решил, и , если не правильно, то указать ошибки http://www.cyberforum.ru/cpp-beginners/thread661758.html
Есть задачка \sum_{i=0}^{8}\sum_{j=0}^{10}\sum_{k=0}^{3}\left(\frac{i+3k-4j}{2+3i+4j} \right) и есть мой код (сразу говорю, я очень плох в программировании:) )- #include<iostream> using namespace std; void main( ) { float sum=0 ;
C++ Проблемы с программой (вывод лишних символов из данных вне массива) Прошу скорее помочь с программой. Выводит лишние неведомые символы. Почему это происходит мне известно, однако где и как с этим бороться - сообразить не могу (пытался долго) int _tmain(int argc, _TCHAR* argv) { int i,j,k,n,p,f; char S,A,B; f=0; while (f<80) { S=0; подробнее

Показать сообщение отдельно
Dxsile
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 9
02.10.2012, 02:33  [ТС]     Функция для удаления слова из строки
спасибо, буду пробовать!

Добавлено через 1 час 39 минут
не, не взлетело
пробовал вот так :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char* del_word(char *dict, char *str){
 
    
    int j=0;
    for(int i=0; i<strlen(dict); i++){
        j=0;
        for(j=0; (j<strlen(str))&&(str[i+j]==str[j]); j++);
        if(j==strlen(str)){
        dict=delchar(dict, i, i+j);
        //strlen(dict)-=j;
        i-=j;
        }
    }
    return dict;
}
, где delchar
C++
1
2
3
4
5
6
char* delchar(char *str, int i, int n){
            int len = strlen(str)-n;//передать сюда длину строки, длину слова
            if(len>0)
            memmove(str+i, str+n, len);
            return str;
}
Удалять то в принципе удаляет, но не то, что надо, и криво - удалилось первое слово с пробелом(6 символов), а в конец добавились последние шесть символов файла, т.е. в конце файла получилось "qweasd weasd "(с пробелом в самом конце).
 
Текущее время: 10:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru