编写一个函数实现:把一个字符串插入到另一个字符串中的指定位置

到底什么时候loc要-1,这个复制的位置是怎么表示的?

//编写一个函数实现:把一个字符串插入到另一个字符串中的指定位置。
//void copys2s(char * src,char * dest,int loc)
//该函数实现将字符串dest插入字符串src中loc的位置。
//该函数定义可以使用字符串处理函数。
#include <fstream>
#include<iostream>
#include <cstring>
using namespace std;
void copys2s(char * src,char * dest,int loc)
{
/************************* Begin *************************/

         char temp[100];
         strcpy(temp,src+loc-1);//把src中loc位置开始字符复制到temp
         strcpy(src+loc-1,dest);//把dest的所有字符复制到src的loc位置后面
         loc=strlen(src);//统计src字符个数
         strcpy(src+loc,temp);//把temp中所有字符复制到src已有字符后面

/************************* End ***************************/
}
int main()
{
    ifstream file_in("in.txt");
    ofstream file_out("out.txt"); 
    if(!file_in||!file_out) return -1;
    streambuf *std_in;  
    streambuf *std_out;
    std_in= cin.rdbuf(file_in.rdbuf());  
    std_out= cout.rdbuf(file_out.rdbuf());  

    char src[100],dest[100];
    int loc;
    while(cin>>src>>dest>>loc)
    {
    copys2s(src,dest,loc);
        cout<<src<<endl;
    }

    file_in.close();
    file_out.close();
    cin.rdbuf(std_in); 
    cout.rdbuf(std_out);    
    return 0;
}