|
发表于 2020-5-25 14:22:24
|
显示全部楼层
具体算法不会 ,传参形式可以参考一下 ,其中iSameDstLen相关的东西 是不必须的,只是为了安全起见
- int get_same_string(IN char* p1 ,IN char* p2 ,IN OUT char* szSameDst ,IN OUT int* iSameDstLen){
- int maxLen;
- maxLen = strlen(p1) > strlen(p2) ? (strlen(p1) + 1) :(strlen(p2) + 1);
- //if(strlen(p1) > strlen(p2)){
- // maxLen = strlen(p1) +1;
- //}
- //else{
- // maxLen = strlen(p2) +2;
- //}
- char* szTemp = new char[maxLen];
- //具体算法填充szTemp;
- if(*iSameDstLen < strlen(szTemp)+1){
- *iSameDstLen = strlen(szTemp) +1;
- delete[] szTemp;
- return -1;
- }
- strcpy_s(szSameDst,*iSameDstLen,szTemp);
- delete[] szTemp;
- return 0;
- }
- int main()
- {
- char a[10] = "aabbcc";
- char a1[10] = "kkbbcyy";
-
- char szSameString[10];
- int iSameStringLen = sizeof(szSameString);
- get_same_string(a, a1,szSameString,&iSameStringLen);
- return 0;
- }
复制代码 |
|