C++:有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成另一个字符串

如题所述

第1个回答  2014-06-13

假设,str1有n个字符,str2的长度超过n-m+1。

从str1的第m个字符开始的全部字符复制到str2,那么就有

for (int i = m, j = 0; i < n; i++) {
    str2[j++] = str1[i];
}

第2个回答  2012-10-26
#include<stdio.h>
char* strncopy(char *des, const char *src, int first)
{
int lensrc= 0;
int lendes= 0;

while(src[lensrc]!='\0') lensrc++;
if(first > lensrc)
return "ERROR";

first--;
while( src[first] != '\0')
{
des[lendes++]= src[first++];
}
des[lendes]= '\0';

return des;
}

void main(void)
{
char a[100]= "adsfhgkgilotkytnf",
b[100];
puts(strncopy(b, a, 10));
}本回答被网友采纳
第3个回答  2012-10-26
strcpy(dest,str+m);

char * copyn(char * dest, const char * source, int m)
{
char * re = dest;
while(--m) if( *source++ == '\0' ) return NULL;
while( *source != '\0' ) *dest++ = *source++;
*dest = '\0';
return re;
}
相似回答