리눅스 환경에서 (우분투) 공유메모리를 이용한 파일전송을 만들고 있는데, (공유메모리를 이용한 채팅프로그램 상에서 구현입니다.) 문제 해결 방법을 도저히 못찾겠어서 질문 올립니다...
요구 조건은 sender가 특정 사용자에게 파일 전송 명령을 내리면
receiver가 전송받은 파일이름에 추가로 자신의 닉네임을 붙여서 저장까지 하는 프로그램입니다.
현재 파일 전송 시도시 새기는 문제는
1. 파일명이 깨집니다. ( 파일명에 " %&#$_받는사람닉네임 (잘못된 인코딩) ") 이라고 뜹니다.
2. 원본과 파일 크기가 다르고, 실행이 되지 않습니다.
쉽게 말해서 파일 생성까지는 되는데 다른 작업이 제대로 수행이 되지 않습니다..
제가 구현하려는 방법은 sender가 공유메모리 버퍼 상에 fread를 수행하여 데이터를 저장해 놓고
receiver가 자신의 닉네임을 붙인 파일명으로 파일을 생성해서 공유메모리 버퍼의 데이터를 꺼내오는 것입니다.
코드는 다음과 같은데.... 문제를 도저히 못찾겠습니다.