Прежде всего вы должны включить библиотеку "string.h"
для компиляции вашей программы.Затем вы можете сделать следующее:
#include <iostream>
#include <math.h>
#include <fstream>
#include <strings.h>
#include <string.h>
using namespace std;
int main()
{
int i=0,j=0,ok=0,k=0,p=0;
char s[256],aux[256],a[256];
char c;
cin.get(s,256);//reading the string
cin.get();
cin.getline(a,256);//reading the string that I want to insert
c = getchar();//reading the separator
getchar(); // for getting enter from keybord
strcpy(aux,s);
int len = strlen(s); // this function is of time complexity O(len)
while ( j <= len && s[j]!=c)//searching for the first apparition of the separator
{
j++;
}
ok=strlen(a);
strcpy(s+j+1,a);//making room for the string that insert and inserting the string
strcpy(s+j+1+ok,aux+j);
cout<<s;
}
Примечание: Вместо того, чтобы снова и снова вызывать метод strlen(s)
внутри while loop
, вы можете просто вычислить длину строки - s
один раз.в противном случае это увеличит сложность времени.