#include <stdio.h>
#include <sqlite3.h>
#include <string.h>
int main(int argc, const char *argv[])
{
sqlite3 *db = NULL;
if (SQLITE_OK != sqlite3_open("./dictionary.db", &db))
{
fprintf(stderr, "line:%d sqlite_open:%s\n", __LINE__, sqlite3_errmsg(db));
return -1;
}
printf("database open success\n");
//创建表
char sql[128] = "create table if not exists dict (Word char,Explain char);";
char *errmsg = NULL;
if (sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("sqlite3_exec error:%s\n", errmsg);
return -1;
}
printf("create table success\n");
FILE *fp = fopen("./dict.txt", "r");
if (NULL == fp)
{
perror("fopen");
return -1;
}
char buf[256];
char Word[64];
char Explain[128];
char *p = NULL;
while (NULL != fgets(buf, sizeof(buf), fp))
{
p = buf;
while (1)
{
if (*p != ' ' || (*p == ' ' && *(p + 1) != ' '))
p++;
else
break;
}
*p = '\0';
p++;
//获取单词
strcpy(Word, buf);
//跳过空格
while (*p == ' ')
{
p++;
}
//截取解释
strcpy(Explain, p);
sprintf(sql, "insert into dict values(\"%s\",\"%s\")", Word, Explain);
if (sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
printf("sqlite3_exec error:%s line=%d\n", errmsg, __LINE__);
return -1;
}
}
printf("插入成功\n");
return 0;
}