#include <stdio.h>
#include <sqlite3.h>
#include <string.h>
int main(int argc, const char *argv[])
{
sqlite3 * db;
//创建一个数据库
if(sqlite3_open("./sq.word",&db)!=SQLITE_OK)
{
fprintf(stderr,"err:%s\n",sqlite3_errmsg(db));
return -1;
}
char sql[128]="create table if not exists dict(word char,mena char);";
char *errmsg = NULL;
//创建dirt
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
{
fprintf(stderr,"15 sqlite3_exec%s\n",errmsg);
return 1;
}
FILE * fp = fopen("../dict.txt","r");
if(NULL == fp)
{
perror("fopen");
return -1;
}
char buf[256] = " ";
char word[32] = " ";
char mean[256] = " ";
int count = 1;
int i = 1;
printf("开始导入\n");
while(1)
{
if(fgets(buf,sizeof(buf),fp)==NULL)
break;
buf[strlen(buf)-1] = '\0';
bzero(word,sizeof(word));
bzero(mean,sizeof(mean));
for(i=0;i<strlen(buf)-2;i++)
{
if(buf[i]!=' '&&buf[i+1]==' '&buf[i+2]==' ')
{
strncpy(word,buf,i+1);
}
else if(buf[i]==' '&&buf[i+1]==' '&&buf[i+2]!=' ')
{
strcpy(mean,buf+i+2);
break;
}
}
sprintf(sql,"insert into dict values(\"%s\",\"%s\");",word,mean);
// printf("sql=%s\n",sql);
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
{
printf("sqlite3_exec faild:%s\n",errmsg);
return -1;
}
}
printf("导入完成\n");
if(sqlite3_close(db)!=SQLITE_OK)
{
fprintf(stderr,"err:%s\n",sqlite3_errmsg(db));
return -1;
}
printf("close sqlite3 \n");
return 0;
}