2010.08.18 14:14

  프로그램에서 사용하는 표현과 동일한 표현으로 데이터를 파일에 저장할 때, 그 데이터가 바이너리 형태(binary form)로 저장된다고 합니다.  수치가 문자열로 변환되는 일이 일어나지 않지요.
 표준 입출력의 경우에, fread()와 fwrite() 함수가 이와같은 바이너리 서비스를 제공합니다.

size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

fwrite() 매개변수 설명
- buffer : 저장할 데이터 덩어리의 주소,
- size : 저장할 데이터 덩어리들의 크기,
- count : 저장할 데이터 덩어리들의 수,
- stream : 데이터가 저장될 파일

size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

fread() 매개변수 설명
- buffer : 파일로부터 읽은 데이터를 저장할 메모리 공간의 주소
- size : 데이터들의 크기
- count : 데이터들의 수
- stream : 데이터를 읽을 파일

예제를 보면서 설명하겠습니다.

1. 구조체 선언



2. 구조체 정의 및 파일 입출력
 

 보신것처럼 Book구조체 배열b1에 Book1개의 공간을 정의하고
배열b1의 첫번째 공간에 페이지의 수, 가격, 도서명을 입력 후 20번째 줄의 fwrite()를 이용하여 저장을합니다.
 그 후 읽어드릴때는 Result라는 Book형의 배열을 선언하고 그 첫번째 공간에 fread()함수를 이용하여 옮겨담았습니다.

3. 출력 결과 및 파일입출력 결과


< 실행파일 >
저작자 표시 비영리 변경 금지
신고
Posted by Daos
2010.08.06 17:06
오늘 소개해 드릴것은 예전에 증강현실(, augmented reality : 실세계에 3차원 가상물체를 겹쳐 보여주는 기술)관련해서
조사하던 중 알게 된 증강현실 + 마술 입니다.



신기한가요?^^
저작자 표시 비영리 변경 금지
신고

'IT Technology News > Augmented Reality' 카테고리의 다른 글

[Augmented Reality]Augmented Reality Magic 1.0  (0) 2010.08.06
Posted by Daos
2010.08.06 02:10

안녕하세요. Daos입니다.

 이번에는 fprintf()와 fscanf()를 이용하여 파일입출력에 대해 알아보겠습니다.
fprintf()와 fscanf()는 printf()와 scanf()와 같은 방식으로 동작하는데 부가적으로 첫번째 전달인자에 적당한 파일을 넘긴다는 점이
다릅니다.
 실제 사용의 예를 보면서 알아봅시다.

간단한 이름, 나이, 시력을 입력받고 파일로 저장. 그리고 불러와서 출력해주는 예제 프로그램입니다.

< Sample Code >


< 출력결과 및 fprintf.txt파일확인 >

저작자 표시 비영리 변경 금지
신고
Posted by Daos
2010.08.05 18:45

 안녕하세요. Daos입니다.
여러분들은 베이비 모니터!에 대해서 들어보셨습니까??? 이것이 무엇인지 한번 알아볼까요??

 현재 아이의 엄마들은 항상 바쁘다고합니다. 아기도 돌봐야하고, 가시 일도 많고, 잠들거나 노는 아이를 방안에 혼자 두고 빨래며 부엌일을 해야하는데 마음도 놓이질 않고.. 그렇다고 하루 종일 아기 곁에만 붙어 있을 수도 없는 일!

 사실 저야 아기가 없기 때문에 아직은 잘 모르지만( 입덧 방지 팔찌라는 물건이 존재한다는 사실도 몇일 전에 알았습니다..대단하더군요^^)
특히나 아기가 뒤집기를 시작할 무렵부터 엄청난 주의와 관심이 필요하다고 하더군요. 뒤집기 때문에 질식사하는 아이도 많다고 하고 사고도 많이 일어난다고 들었습니다..
 이러한 문제를 해결하기 위한 제품이 나왔는데 바로 인스모바일의 베이비모니터(INS-1000D)입니다.
 인스모바일은 2003년에 설립된 회사며 소프트웨어개발, 전자부품 및 통신장비개발이 사업분야인 회사입니다.
 베이비모니터(INS-1000D) 제품은 동작감시센서로 아기가 크게 뒤척이거나 잠에서 깨거나 움직이면 바로 알람으로 알려주며,
CMOS 이미지 센서와 센서가 촬영한 영상을 무선으로 전송하는 전송모듈, 그리고 수신기는 전송된 무선신호를 수신하고 AV출력으로 전환하는 수신모듈을 장착하고있습니다.
 또한 무선방식은 암호화되어있기 때문에 혼선 방지개인 사생활을 보호할 수 있으며, 조도센서가 밝기를 감지해 어두워지면 자동으로 야간모드로 전환되기 때문에 낮과밤 구분없이 사용할수 있으며, TV에 연결해 대화면 모니터링 및 녹화가 가능. 전파장애나 장애물이 없을땐 40m까지 전송해주며 수신기 1대로 4대의 카메라를 볼수 있습니다.

 다만 두터운 아파트나 주택에서 살고 있다면 실내-실외 사용은 거의 불가능한데, 즉 카메라는 집안에 둔채 수신 모니터를 들고 집 밖에서 사용하거나 반대로 카메라가 실외에 있고 수신기가 실내에 있다면 두꺼운 벽에 가로막혀 무선 신호가 제대로 전달되지 못할 수도 있다고합니다.

- CMOS 이미지 센서란?

더보기

 
CCD 이미지 센서란?

더보기

< 베이비모니터 INS-1000D >



쇼핑몰 사이트 Shoop에서 확인 결과 현재 예약중이며 8월6일부터 배송시작이라고 하네요.
 판매가 시작되고 사용자들의 리뷰를 봐야 정확한 성능에 대한 확인이 가능하겠지만,  꼭 유아용이 아니더라도 제품소개를 보니 여러 용도로 사용 할 수 있는 소개를 보니 유용한 제품이 될 듯 싶습니다. ㅎㅎ
 주부님들 그리고 남편분들 참고하시기 바라며, 저도 몇 개월 지켜보고 하나 사서 누나들이랑 형수님께 선물해 드려야겠네요.ㅋ

    < 쇼핑몰 Shoop에서 소개 중인 사진 >



 

  아래는 인스모바일 사이트 내의 제품 소개 입니다.
31만 화소 Full Color 모니터링
2.46인치 대화면 LCD
아기의 울음, 움직임 알람으로 알려 줌
TV, 컴퓨터에 연결 가능
AAA 배터리를 지원하므로 휴가지에서도 편리하게 사용가능
 

 


< 참고 기사 : 우리 아이 지킴이…'베이비 모니터' >
저작자 표시 비영리 변경 금지
신고
Posted by Daos
2010.08.01 23:41

 오늘은 fgets(), fputs()에 대해서 알아보겠습니다.
 fgets()와 fputs()는 파일포인터에 문자열을 읽고 쓰는 함수입니다.
 fgets()함수는  읽을 문자들의 최대 개수를 지정함으로써 gets()의 약점( 입력이 확보한 기억 공간에 맞는지 검사하지 않고, 확보한 기억 공간을 채우고 남는 문자들은 이웃한 메모리로 흘러넘친다)을 해결합니다.
 fgets()는 개행 문자를 읽어 그 문자열에 저장하고, n-1개까지 문자들을 읽거나 개행 문자가 나올때 까지 읽습니다.
개행 문자를 읽고 버리는 gets()와는 다르다.
 fputs()함수는 puts()와는 달리 출력할 때 개행 문자를 덧붙이지 않습니다.
 fgets()가 개행 문자를 유지하고, fputs()는 개행 문자를 덧붙이지 않기 때문에 서로 협력하여 잘 동작합니다.

char
*fgets( char *string, int n, FILE *stream );
int fputs( const char *string, FILE *stream );


< 파일입출력 테스트 Source >


<fputs.txt파일 확인>

저작자 표시 비영리 변경 금지
신고
Posted by Daos

티스토리 툴바