读书人

贴段字符串拷贝源码解决方案

发布时间: 2012-04-07 17:31:51 作者: rapoo

贴段字符串拷贝源码

C/C++ code
int __cdecl FastStringCopy(int a1, int a2, signed int a3){    int result;    result = a1 & 2;    if ( a1 & 2 )    {        *(WORD *)a1 = *(WORD *)a2;        a1 += 2;        a2 += 2;        result = a3-- - 1;    }    while ( a3 >= 8 )    {        *(DWORD *)a1 = *(DWORD *)a2;        *(DWORD *)(a1 + 4) = *(DWORD *)(a2 + 4);        *(DWORD *)(a1 + 8) = *(DWORD *)(a2 + 8);        *(DWORD *)(a1 + 12) = *(DWORD *)(a2 + 12);        a1 += 16;        a2 += 16;        result = a3 - 8;        a3 -= 8;    }    if ( a3 & 4 )    {        *(DWORD *)a1 = *(DWORD *)a2;        *(DWORD *)(a1 + 4) = *(DWORD *)(a2 + 4);        a1 += 8;        result = a2 + 8;        a2 += 8;    }    if ( a3 & 2 )    {        *(DWORD *)a1 = *(DWORD *)a2;        a1 += 4;        result = a2 + 4;        a2 += 4;    }    if ( a3 & 1 )    {        result = a2;        *(WORD *)a1 = *(WORD *)a2;    }    return result;}


C/C++ code
TCHAR P[] = T("testcopy");FastStringCopy((int)P, (int)(P+4), 4);


[解决办法]
自己怎么就一头扎进C++这潭深水中了呢
[解决办法]
不是字符串吗?怎么参数都是int?

读书人网 >C++

热点推荐