c++문의좀요..ㅠㅠ
아쿠아리우스
시리얼포트를 이용한 전송이요~
소스는 맨밑에 적겠습니다.
지금 채팅까지 서로 하는것이 됐는데요 채팅이 아니라 제가 원하는 텍스트파일을 지정한다음에 그 파일을 상대방에게 뿌려주는걸 하려고요. 즉 지금은 제가 채팅처럼 글을치고 샌드를 누르면 제가 쓴글이 보내졌지만 그게아니라 제가 보내고 싶은 텍스트파일을 보여주고 싶은거에요
안녕하세요 자세히 쓰면 시리얼포트를 통해서 서로 지금 대화하는것 까지는 만들었습니다. 근대 여기서 샌드버튼을 누르면 제가 쓴 글이 가는데 제가 쓴 글이 아니라 제가 지정한 텍스트 파일의 첫번째줄부터 가게 하려고 합니다..
void cserialportdlg::onbuttonsend()
{
// todo: add your control notification handler code here
updatedata(true);
cstring senddata = m_strsend; //컨트롤 멤버 변수를 받는다.
senddata.replace( ,); // 공백 없애기
senddata.replace(\r\n,); //엔터 없애기
if((m_bportinit == true) && (m_strsend != )){
m_comuport.writecomm((unsigned char*)(lpctstr)senddata, senddata.getlength());
}
m_strsend=;
updatedata(false);
}
이 부분을 고쳐야 될꺼 같은데여
string senddata = m_strsend;
senddata.replace( ,);
senddata.replace(\r\n,);
이 부분은 내용을 적당히 수정하고
m_comuport.writecomm((unsigned char*)(lpctstr)senddata, senddata.getlength());
이 부분에서 senddata를 전송하네요.
senddata를 m_strsend가 아닌.
텍스트 파일의 내용으로 대체를 하면 될 거 같긴 한데
아.. 모르곘네여.. 고수님들의 뜻을 기다립니다+_+
1. senddata에 c:\mytext. txt 입력
2. 빈공간 방지 루틴으로 c:\mytext.txt 가 됨
3. fopen 함수 (c 기본) 를 이용하여 txt모드로 파일오픈, (잘 모르겠으면 winapi.com 참조)
3.5 - 만약 파일오픈 실패하면 당근 에러처리.
4. fread 함수로 문자열(char) 버퍼 하날 잡고 거기에 txt파일을 전부 넣어줌. 당연히 버퍼는 좀 크거나 동적할당
5. 문자열 버퍼를 전송. 보낼 길이는 strlen.
이렇게 될꺼 같은데 좀 도와주세요
제가 이쪾일을 하는게 아니라... 딴쪽인데 상무님이 시키시고 가셔서 너무 어렵네여 ㅠㅠ