* Author : 정 헌 학
* Date : 2002.05.07
* 설 명 : Gdbm 을 열고 닫는 예제 프로그램
*
*/
#include<stdio.h>
#include<gdbm.h>
void main(void)
{
GDBM_FILE dbf; /* gdbm 파일 포인터 */
char *file = "FILE.gdbm"; /* gdbm 데이타 파일 변수 */
dbf = gdbm_open(file, 512, GDBM_WRCREAT, 00664, NULL );
/* file : db file name
* 512 : block_size
* flag : GDBM_READER ( 단지 읽기 )
* GDBM_WRITER ( 읽고 쓰기 배타적 접근 )
* GDBM_WRCREAT ( 읽고 쓰기 없으면 만듦 )
* GDBM_NEWDB ( 읽고 쓰기 무조건 만듦 )
* 00664 : mode
* NULL : 에러 함수 지정 (null 이면 기본값)
*/
if(dbf == NULL){
printf("GDBM open failed : %s\n", gdbm_strerror(gdbm_errno));
exit(1);
}else{
printf("GDBM open success\n");
}
gdbm_close(dbf);
}
/*
* Author : 정 헌 학
* Date : 2002.05.07
* 설 명 : Gdbm 을 열고 닫는 예제 프로그램 + 데이타 기록 프로그램
*/
#include<stdio.h>
#include<gdbm.h>
void main(void)
{
char *key_line; /* key 값에 들어갈 문자 */
char *data_line; /* data 값에 들어갈 문자 */
GDBM_FILE dbf; /* gdbm 파일 포인터 */
char *file = "FILE.gdbm"; /* gdbm 데이타 파일 변수 */
datum key; /* db 에 들어갈 키값 */
datum data; /* 키에 해당하는 데이타 값 */
/* 변수 초기화 */
key.dptr = NULL;
data.dptr = NULL;
key_line = "dont worry";
data_line = "happy";
key.dptr = key_line;
key.dsize = strlen(key_line) + 1;
data.dptr = data_line;
data.dsize = strlen(data_line) + 1;
dbf = gdbm_open(file, 512, GDBM_WRCREAT, 00664, NULL );
/* file : db file name
* 512 : block_size
* flag : GDBM_READER ( 단지 읽기 )
* GDBM_WRITER ( 읽고 쓰기 배타적 접근 )
* GDBM_WRCREAT ( 읽고 쓰기 없으면 만듦 )
* GDBM_NEWDB ( 읽고 쓰기 무조건 만듦 )
* 00664 : mode
* NULL : 에러 함수 지정 (null 이면 기본값)
*/
if(dbf == NULL){
printf("GDBM open failed : %s\n", gdbm_strerror(gdbm_errno));
exit(1);
}else{
printf("GDBM open success\n");
}
if(gdbm_store(dbf, key, data, GDBM_REPLACE) != 0){
printf("GDBM replace filed : %s\n", gdbm_strerror(gdbm_errno));
}else{
printf("GDBM replace success\n");
}
gdbm_close(dbf);
}
/*
* Author : 정 헌 학
* Date : 2002.05.07
* 설 명 : Gdbm 을 열고 닫는 예제 프로그램 + 데이타 기록 프로그램 + 데이타
* 삭제 프로그램
*/
#include<stdio.h>
#include<gdbm.h>
void main(void)
{
char *key_line; /* key 값에 들어갈 문자 */
char *data_line; /* data 값에 들어갈 문자 */
GDBM_FILE dbf; /* gdbm 파일 포인터 */
char *file = "FILE.gdbm"; /* gdbm 데이타 파일 변수 */
datum key; /* db 에 들어갈 키값 */
datum data; /* 키에 해당하는 데이타 값 */
/* 변수 초기화 */
key.dptr = NULL;
data.dptr = NULL;
key_line = "dont worry";
data_line = "happy";
key.dptr = key_line;
key.dsize = strlen(key_line) + 1;
data.dptr = data_line;
data.dsize = strlen(data_line) + 1;
dbf = gdbm_open(file, 512, GDBM_WRCREAT, 00664, NULL );
/* file : db file name
* 512 : block_size
* flag : GDBM_READER ( 단지 읽기 )
* GDBM_WRITER ( 읽고 쓰기 배타적 접근 )
* GDBM_WRCREAT ( 읽고 쓰기 없으면 만듦 )
* GDBM_NEWDB ( 읽고 쓰기 무조건 만듦 )
* 00664 : mode
* NULL : 에러 함수 지정 (null 이면 기본값)
*/
if(dbf == NULL){
printf("GDBM open failed : %s\n", gdbm_strerror(gdbm_errno));
exit(1);
}else{
printf("GDBM open success\n");
}
/* 데이타 추가 루틴 */
if(gdbm_store(dbf, key, data, GDBM_REPLACE) != 0){
printf("GDBM replace failed : %s\n", gdbm_strerror(gdbm_errno));
}else{
printf("GDBM replace success\n");
}
key.dptr = NULL;
data.dptr = NULL;
/* 데이타 삭제 루틴 */
key_line = "dont worry";
data_line = "happy";
key.dptr = key_line;
key.dsize = strlen(key_line) + 1;
data.dptr = data_line;
data.dsize = strlen(data_line) + 1;
if(gdbm_delete(dbf, key) != 0){
printf("GDBM delete failed : %s\n", gdbm_strerror(gdbm_errno));
}else{
printf("GDBM delete success\n");
}
gdbm_close(dbf);
}
/*
* Author : 정 헌 학
* Date : 2002.05.07
* 설 명 : Gdbm 을 열고 닫는 예제 프로그램 + 데이타 기록 프로그램 + 검색 프로그램
*
*/
#include<stdio.h>
#include<gdbm.h>
void main(void)
{
char *key_line; /* key 값에 들어갈 문자 */
char *data_line; /* data 값에 들어갈 문자 */
GDBM_FILE dbf; /* gdbm 파일 포인터 */
char *file = "FILE.gdbm"; /* gdbm 데이타 파일 변수 */
datum key; /* db 에 들어갈 키값 */
datum data; /* 키에 해당하는 데이타 값 */
datum search; /* 검색한 데이타 변수 */
/* 변수 초기화 */
key.dptr = NULL;
data.dptr = NULL;
key_line = "dont worry";
data_line = "happy";
key.dptr = key_line;
key.dsize = strlen(key_line) + 1;
data.dptr = data_line;
data.dsize = strlen(data_line) + 1;
dbf = gdbm_open(file, 512, GDBM_WRCREAT, 00664, NULL );
/* file : db file name
* 512 : block_size
* flag : GDBM_READER ( 단지 읽기 )
* GDBM_WRITER ( 읽고 쓰기 배타적 접근 )
* GDBM_WRCREAT ( 읽고 쓰기 없으면 만듦 )
* GDBM_NEWDB ( 읽고 쓰기 무조건 만듦 )
* 00664 : mode
* NULL : 에러 함수 지정 (null 이면 기본값)
*/
if(dbf == NULL){
printf("GDBM open failed : %s\n", gdbm_strerror(gdbm_errno));
exit(1);
}else{
printf("GDBM open success\n");
}
/* 데이타 추가 루틴 */
if(gdbm_store(dbf, key, data, GDBM_REPLACE) != 0){
printf("GDBM replace failed : %s\n", gdbm_strerror(gdbm_errno));
}else{
printf("GDBM replace success\n");
}
key.dptr = NULL;
data.dptr = NULL;
/* 데이타 검색 루틴 */
key_line = "dont worry";
key.dptr = key_line;
key.dsize = strlen(key_line) + 1;
search = gdbm_fetch(dbf, key);
if(search.dptr != NULL){
printf("\n");
printf("Data is %s\n", search.dptr);
}else{
printf("GDBM search is NULL\n");
}
gdbm_close(dbf);
}
http://blog.naver.com/hunhak?Redirect=Log&logNo=5916431
Posted by

