C++问题:已知一个字符串,实际长度为n。 写一个函数将此字符串中从第k个字符(k<n)开始的全部字符替换成为另一个字符串。

可以这样设计函数首部:
void strSubcpy(const char a[], char b[], int k)。
也可:
void strSubcpy(const char *a, char *b, int k)。
主函数中可以这样测试:

int main()
{
char str1[50] = "I study C very hard!";
char str2[50] = "C++ very hard!";
strSubcpy(str1, str2, 9);
cout<<str1<< endl;
cout<<str2<< endl;
return 0;
}

代码如下,结果已验证:

#include <iostream>
using namespace std;

void strSubcpy(char *a,const char *b, int k)
{
    a = a+k-1;
    while(*b!='\0'){
        *a=*b;
        a++;
        b++;
    }
}

int main()
{
    char str1[50] = "I study C very hard!";
    char str2[50] = "C++ very hard!";
    strSubcpy(str1, str2, 9);
    cout<<str1<<endl;
    cout<<str2<<endl;
    return 0;
}


运行结果:
I study C++ very hard!
C++ very hard!