程序:
#include <stdio.h>
#include <sqlite3.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//创建并打开一个数据库
sqlite3 *db=NULL;
if(sqlite3_open("./word.db",&db) != SQLITE_OK){
fprintf(stderr,"sqlite3_open failed:%d:%s\n",sqlite3_errcode(db),sqlite3_errmsg(db));
return -1;
}
printf("sqlite3_open success\n");
//创建一张表格
char sql[128] = "create table if not exists stu(word char,translate char);";
char *errmsg = NULL;
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK){
fprintf(stderr,"line:%d sqlite3_exec:%s\n",__LINE__,errmsg);
return -1;
}
printf("table stu create success\n");
//打开文件
FILE *fp=fopen("./dict.txt","r");
if(NULL==fp){
perror("fopen");
return -1;
}
char word[20]="";
char translate[50]="";
int res=0;
char sdl[128]="";
while(1){
bzero(word,sizeof(word));
bzero(translate,sizeof(translate));
bzero(sdl,sizeof(sdl));
res=fscanf(fp,"%s",word);
fgets(translate,sizeof(translate),fp);
translate[strlen(translate)-1]='\0';
if(EOF==res){
printf("输入数据库完成\n");
break;
}
sprintf(sdl,"insert into stu values(\"%s\",\"%s\")",word,translate);
if(sqlite3_exec(db,sdl,NULL,NULL,&errmsg) != SQLITE_OK){
fprintf(stderr,"line:%d sqlite3_exec:%s\n",__LINE__,errmsg);
return -1;
}
}
if(sqlite3_close(db) != SQLITE_OK){
fprintf(stderr,"line:%d sqlite3_close:%d:%s\n",\
__LINE__,sqlite3_errcode(db),sqlite3_errmsg(db));
return -1;
}
fclose(fp);
return 0;
}
运行效果: