按照你說的,最好用字元陣列來存放字串
這樣字元陣列名就是這個字串的指標了,指定位置就可以直接用指標加偏移量來確定
例如chara[100]="fjalsdjflasjfljasdljf";
charb[100]="djdfoaegksdalgslj";
假設將字串b插入到字串a的第十位之後(插入的位置超過字串a的長度就沒有意義了)
首先為字串b騰出空位
intlen=strlen(b);
for(inti=0;i<len;i++)
{
*(a+10+len+i)=*(a+10+i);
}
然後將b插入到騰出來的空位即可
for(intj=0;j<len;j++)
*(a+10+j)=b[j];
這個是最原理的東西,如果你能理解這個,那麼後兩個for迴圈其實可以合併為一個,全部程式碼為
chara[100]="fjalsdjflasjfljasdljf";
*(a+10+len+i)=a[10+i];
*(a+10+i)=b[i];
按照你說的,最好用字元陣列來存放字串
這樣字元陣列名就是這個字串的指標了,指定位置就可以直接用指標加偏移量來確定
例如chara[100]="fjalsdjflasjfljasdljf";
charb[100]="djdfoaegksdalgslj";
假設將字串b插入到字串a的第十位之後(插入的位置超過字串a的長度就沒有意義了)
首先為字串b騰出空位
intlen=strlen(b);
for(inti=0;i<len;i++)
{
*(a+10+len+i)=*(a+10+i);
}
然後將b插入到騰出來的空位即可
for(intj=0;j<len;j++)
{
*(a+10+j)=b[j];
}
這個是最原理的東西,如果你能理解這個,那麼後兩個for迴圈其實可以合併為一個,全部程式碼為
chara[100]="fjalsdjflasjfljasdljf";
charb[100]="djdfoaegksdalgslj";
intlen=strlen(b);
for(inti=0;i<len;i++)
{
*(a+10+len+i)=a[10+i];
*(a+10+i)=b[i];
}