我有以下代码:
unsigned char* originaldata = (unsigned char*)malloc(50);
strcpy((char*)originalData,"12345 7");
unsigned char* replacingData = (unsigned char*)malloc(9);
strcpr((char*)replacingData,"11111111");
memset(replacingData,6,6);
然后,我想用replaceingData替换从位置6到originalData末尾的数据。
我该如何用C代码做到这一点?
最佳答案
memcpy(originalData+6, replacingData, strlen(originalData)-6)
但是,应该注意的是,这假定
originalData
总是长于6个字符,而replacingData
长于比originalData
小6个字符。