Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (15.01.2012 в 13:51)
На всякий случай все-таки приведу решение для char строк, здесь "Hello world" превращается в "Hello program world" (в предположении, что под все строки программы выделено достаточно памяти). Следует учитывать, что в промышленном коде char-строки лучше избегать, так как постоянно приходиться следить за памятью. Лучше использовать динамические строки, объем памяти, выделенной под который изменяется автоматически - это позволяет избежать целого класса ошибок.
#include <iostream>
using namespace std;

// Прототип функции 
char *substr(char *str, int number);
// Глнавная функция
int main()
{
  char str[80] = "Hello world";
  char insert[80] = "program ";
  char tmp[80];
  /*
  str = Hello world
  tmp = world
  str = Hello
  str = str + programm
  str = str + tmp
  */

  // Копируем "word" в "temp"
  strcpy(tmp, substr(str, 6));
  // Удлаяем из str все, после 6 символа
  str[6] = '\0';
  // Добавляем к str строку insert
  strcat(str, insert);
  // Добавляем к str строку tmp
  strcat(str, tmp);
  // Выводим результат
  cout << str << endl;

  // Пауза перед завершением программы
  system("pause");

  return 0;
}
char *substr(char *str, int number)
{
  return str + number;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: