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

Написать функцию replace для массива char'ов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Точка входа не найдена http://www.cyberforum.ru/cpp-beginners/thread563091.html
написал dll и создал приложение. Как проге показать эту самую точку входа?
C++ Поиск слов по категориям помогите пожалуйста написать их на с++))сам я в с++ не очень шарю..и если можно пожалуйста с комментами)) Программа говорит о смысле предложения.То есть вбиваем несколько категорий.Например:... http://www.cyberforum.ru/cpp-beginners/thread563090.html
Даны три массива A[7][7], B[7][7], C[7][7]. C++
Здравствуйте. Помогите пожалуйста решить задачу, с использованием функции. Даны три массива A, B, C. Найти произведение ненулевых элементов, расположенных ниже главной диагонали.
объединение case-ов C++
case 2: { int n=input_pos(); printf("Внутреннее представление:%s\n",DecToBin(var,str)); printf("Сдвиг исходного числа на %d разряда(ов) вправо:...
C++ Исправить ошибку в программе http://www.cyberforum.ru/cpp-beginners/thread563056.html
Друзья, помогите с программой, точнее, помогите её исправить. Программа должна искать числа палиндромы на заданном интервале. Но, она должна выводить ошибку, если есть несоответствия интервалов. Если...
C++ Найти слова где заданный символ встречаются наиболее часто Ниже код программы, которая находит слово где заданный символ встречается наиболее часто. Нужно чтобы выводились все слова где данный символ встречается наиболее часто. Помогите сделать. #include... подробнее

Показать сообщение отдельно
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1
02.05.2012, 16:09
При чем тут будет подстрокой t? По простому - вырезаем определенный кусок текста и записываем на его место другой.

Добавлено через 57 минут
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
#include <iostream>
#include <cstring>
 
char *replace( char *str, const char *f, const char *t ) {
   char *tmpPtr = strstr( str, f );
   
   if ( tmpPtr != 0 && strlen( f ) >= strlen( t )) {
      std::size_t sizeDiff = strlen( f ) - strlen( t );
      
      strncpy( tmpPtr, t, strlen( t ));
      
      if ( sizeDiff > 0 )
         for ( tmpPtr += strlen( t ); *tmpPtr != '\0'; tmpPtr++ )
            *tmpPtr = *( tmpPtr + sizeDiff );
      
   } else
      return 0;
   
   return str;
}
 
int main( ) {
   char str[] = "happy blah year";
   
   std::cout << str << std::endl;
   
   replace( str, "blah", "new" );
   
   std::cout << str << std::endl;
   
   return 0;
}
Вывод.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru