몽셀통통의 블로그
소켓프로그래밍 참고 사이트 및 내용 정리 (+과제 처리 사항 본문
http://forum.falinux.com/zbxe/index.php?document_srl=441104&mid=C_LIB
제대로된 사이트를 하나 구했다
네트워크 소켓 프로그래밍 만드는거 넘 어렵다 ㅜㅜ
#include <fcntl.h>
열기 옵션 |
옵션 설명 |
O_ RDONLY |
읽기 전용으로 열기 |
O_WRONLY |
쓰기 전용으로 열기 |
O_RDWR |
읽기&쓰기 모두 |
옵션 |
설명 |
O_CREAT |
해당 파일이 없으면 생성 접근 권한 값 추가 해야함 파일이 이미 있어도 열기가 가능하고 쓰기를 하면 이전 내용이 사라짐 |
O_EXCL |
O_CREAT를 사용할 때, 사용하면 이미 파일이 있을 때 open()되지 않음 |
O_TRUNC |
원래 파일 내용 삭제 |
O_APPEND |
추가하여 쓰기 가능하고 포인터가 파일의 끝에 위치 |
O_NOCITTY |
??? 아직 모르겠음 |
O_NONBLOCK |
읽을 내용이 없을때 내용이 생길때 까지 기다리지 않고 복귀 |
O_SYNC |
쓰기를 할때, 실제 쓰기가 완료될때 까지 기다림 |
<이슈처리 사항> update 2017.11.23 과제 해결
- 왜 이상한 글씨가 나오는지
: >" 이렇게 사용하면 오류 발생
- 스트링을 받고 끝에 '\0' 넣어줬는데 출력왜 안되냐
:잘됌, 0으로도 쓰기 가능, 인덱스로 char 하나하나 적어줄때는 0 넣어야됌
- 왜 파일 입출력을 했을때 원래 파일이 손상되는지
: 옵션 잘못 선택함. O_APPEND로 하면 이어서 쓸수 있음
선택하는 옵션이 있는거 같은데 어떻게 하는거지
:O_RDWR|O_APPEND로 사용하니 가능
- 포인터아니고 정수로 파일 입출력하고 있을때 어떻게 n 번째 줄을 없앨수 있는지
: 그냥 지우고 싶은 줄 다음 줄 부터 받아쓰기함ㅠㅜ
- 파일입출력 할때 정수로 선언하는 거랑 FILE로 선언하는거랑 무슨 차이 인지
: 모름
- 소켓프로그래밍에서 파일에 쓰기 하는법
write으로 쓰기 가능
- printf로 출력할땐 제대로 된 값나오다가 파일입출력으로 넣으면 왜 다른값 나오냐...
: 함수로 재진입하면서 이전에 남았던 값들이 입력됨 ㅜㅜ memset으로 초기화