간단히 생각하신게 맞는 방법일 겁니다.
오류 내용이 StrCopy란 함수명에 BYTE*형과 char*을 인자로 받는 함수가 없다는 뜻이고
(StrCopy(BYTE*, char*)함수가 없어요.. 라고 컴파일러가 뿜었습니다.)
BYTE형에 문자열이 들어가는게 맞다면
그냥 StrCopy((char *) dest, src) 하시면 될겁니다.
jinhyun 님이 쓰신 글 :
: 답변 감사드립니다.
:
: 헌데 확인하고 컴파일을 하였더니
:
: 마찬가지로
:
:
: [bcc32 Error] NET.cpp(295): E2285 Could not find a match for 'StrCopy(unsigned char *,char *)'
:
:
: 이런 에러를 뿜네요 ㅎㅎ
:
: 단순히 생각했을때 첫번째에 들어가는 인자값이 byte 형이라서 그런걸까 싶기도하네요 ㅠ
:
:
: 정성훈.해미 님이 쓰신 글 :
: : 안녕하세요.
: : 정성훈.해미입니다.
: :
: :
: : StrCopy(pPacketInfo->Addr, AnsiString(gSystem.HostIP).c_str());
: :
: :
: : 이렇게 사용해 보세요.
: :
: : C++에서는 문자열 복사 함수가 StrCopy입니다.
: :
: : 형식
: : StrCopy(char* dst, char* src)
: :
: : 첫번째 인자 dst부분에는 char포인터인 pPacketInfo->Addr를 사용하시면 되겠고
: : 두번째 인자 src부분은 AnsiString을 char*로 변환해주는 내장함수 c_str()을 사용하여
: : AnsiString(gSystem.HostIP).c_str() 이렇게 사용하시면 되겠습니다.
: :
: : 만약 gSystem.HostIP이 char*이다면 굳이 AnsiString으로 변환 할 필요없이
: :
: :
: : StrCopy(pPacketInfo->Addr, gSystem.HostIP);
: :
: : 이렇게 사용하시면 되겠고
: :
: : gSystem.HostIP이 UnicodeString이라면
: : 내장함수 t_str()을 사용하여 다움과 같이 사용하면 되겠습니다
: :
: :
: : StrCopy(pPacketInfo->Addr, gSystem.HostIP.t_str());
: :
: :
: :
: : jinhyun 님이 쓰신 글 :
: : : c++로 변환하는중인데 StrPCopy 함수가 말썽이네요.
: : :
: : :
: : : StrPCopy(@pPacketInfo^.Addr[0], AnsiString(gSystem.HostIP));
: : :
: : :
: : : 델파이에서는 위와같은 형식으로 썼습니다.
: : :
: : : pPacketInfo^.Addr[0] 요너석은
: : :
: : :
: : : Addr: array [0..IP_ADDR_LENGTH - 1] of Byte;
: : :
: : :
: : : 포인터구조체에 이런식으로 선언되어있구요.
: : :
: : : 이녀석을 이전버전에서는
: : :
: : :
: : : StrPCopy(&pPacketInfo->Addr[0], AnsiString(gSystem.HostIP));
: : :
: : :
: : : 요런식으로 잘써먹었는데말이죠
: : :
: : : 지금 XE5버전에서는 이런식으로는 에러가 뜨네요.
: : :
: : :
: : : [bcc32 Error] NET.cpp(196): E2285 Could not find a match for 'StrPCopy(unsigned char *,AnsiString)'
: : :
: : :
: : : 이런에러와함께요;;..
: : :
: : : 타입에 문제가 있는것 같아서,
: : :
: : : 이리저리 변환해보았지만 전부 에러가뜨네요..
: : :
: : : 이거 방법아실분 혹시 계실까요??