MFC 코딩 질문입니당
void CcryDlg::OnBnClickedButtCry()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
int temp;
UpdateData(TRUE);
temp=BinaryStringToInterger(m_EditOne);// m_EditOne이 문자열이니까 정수형으로 바꿔주는 함수를 사용해서 temp에 넣어줍니다
temp=temp^10100101; //temp와 XOR 연산해서 temp에 다시 대입
itoa(temp, m_EditTwo,10); <--- 여기서 오류가 뜨는군요. temp를 10진수로 문자열로 변형시켜 m_EidTwo 에 넣어줄라고하는데 오류 ㅡㅡ;;
m_EditTwo=m_EditTwo;
UpdateData(FALSE);
}
위 프로그래밍은 첫번째 에딧박스에 8비트 1 0 1 1 1 0 1 0 을 입력하고 '암호화' 버튼을 누르면 1 0 1 0 0 1 0 1와 XOR 연산해서 두번째 에딧박스에 넣고
'복호화' 라는 버튼을 클릭하면 다시 첫번째 에딕박스에 넣었던 값이 세번째 에딧박스로 나타내게 하려고 하는데요;;
오류 해결이 안되네요
error C2664: 'itoa' : 매개 변수 2을(를) 'CString'에서 'char *'(으)로 변환할 수 없습니다. 라는 오류입니다;;
제일 위에 #include "stdlib.h" 을 선언해줬구요..
m_EditTwo가 끝까지 말썽이네요. temp는 분명 정수형이고 10진수값으로 문자열 형태인 m_EditTwo에 정수형 숫자를
문자열형태로 바꿔서 대입한다는건데..도대체 저런 오류가 왜 뜨는 걸까요...
바이너리 이진수를 연습해보세요
함수는 함수 설명서를 보시는것이 좋습니다.
CString 사용방법을 적어보았습니다.
CString 은 클래스 입니다.
char 로 사용하시려면.
CString str;
str.GetBuffer( str.GetLength() ); // <== char [] 배열
str.ReleaseBuffer();
로 사용하셔야 합니다.
첨부된 소스를 참고해보세요.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기