Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: 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]
Сообщение:
Прикрепить: