#include <stdio.h>
#include <sqlite3.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
int main(int argc, const char *argv[])
{
sqlite3 *db;
if(sqlite3_open("./dict.db",&db)!=SQLITE_OK)
{
printf("%s__%d__",sqlite3_errmsg(db),__LINE__);
return -1;
}
printf("数据库打开成功\n");
char *errmsg=NULL;
char sql[128]="create table if not exists stu(word char,name char)";
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
{
printf("%s__%d__",errmsg,__LINE__);
return -1;
}
printf("创建表格成功\n");
FILE* fd=fopen("./dict.txt","r");
if(fd==NULL)
{
perror("fopen");
return -1;
}
printf("文件打开成功\n");
char buf[128]="";
char word[128];
char name[128];
while(1)
{
if(fgets(buf,sizeof(buf),fd)==NULL)
{
break;
}
buf[strlen(buf)-1]='\0';
printf("文件读取成功\n");
//printf("%s\n",buf);
bzero(word,sizeof(word));
bzero(name,sizeof(name));
//一行一行打
for(int i=0;i<strlen(buf)-2;i++)
{
//word
if(buf[i] !=' '&&buf[i+1] ==' '&&buf[i+2]==' ')
{
strncpy(word, buf, i+1);
}
//name
else if(buf[i]==' '&&buf[i+1]==' '&&buf[i+2]!=' ')
{
strcpy(name, buf+i+2);
break;
}
}
printf("word=%s name=%s\n",word,name);
//sleep(1);
sprintf(sql,"insert into stu values(\"%s\",\"%s\")",word,name);
printf("sql=%s\n",sql);
char *errmsg=NULL;
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
{
printf("%s__%d__",errmsg,__LINE__);
sqlite3_free(errmsg);
return -1;
}
printf("插入数据成功\n");
}
fclose(fd);
if(sqlite3_close(db)!=SQLITE_OK)
{
printf("%s__%d__",sqlite3_errmsg(db),__LINE__);
return -1;
}
printf("数据库关闭成功\n");
return 0;
}
将词典导入数据库
最新推荐文章于 2024-08-12 13:53:22 发布