将dict.txt的内容导入到数据库中
#include<stdio.h>
#include<sys/types.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<string.h>
#include<stdlib.h>
#include<sqlite3.h>
int main(int argc, const char *argv[])
{
char buf[128] = "";
FILE *fp = fopen("./dict.txt","r");
//打开数据库
sqlite3* db = NULL;
sqlite3_open("./my.db",&db);
//创建一个表格
char* sql = "create table if not exists words (word char,meaning char)";
char* errmsg = NULL;
sqlite3_exec(db,sql,NULL,NULL,&errmsg);
//存储单词
char word[20] = "";
//存储词性
char meaning[30] = "";
char arr[128];
char *p;
int i,j;
while(1)
{
bzero(buf,sizeof(buf));
bzero(word,sizeof(word));
if(fgets(buf,sizeof(buf),fp) == NULL)
break;
// printf("buf:%s sizeof(buf):%d\n",buf,strlen(buf));
for(i=0;i<strlen(buf);i++)
{
if((buf[i] == '.')&&(buf[i+3]!=' '))
{
j=i;
while(buf[j]!=' ')
{
j--;
}
strncat(word,buf,j-1);
word[j-1] = '\0';
printf("%s\n",word);
p = buf;
break;
}
}
bzero(arr,sizeof(arr));
sprintf(arr,"insert into words values(\"%s\",\"%s\");",word,p+j);
sqlite3_exec(db,arr,NULL,NULL,&errmsg);
}
return 0;
}
演示结果如图: