7.12 作业

1.电子词典

#include <myhead.h>
int main(int argc,const char *argv[])
{
	sqlite3 *pdb = NULL;//存放数据库指针
	char *errmsg = NULL;//错误信息
	if(sqlite3_open("./dict.db",&pdb) != SQLITE_OK)//打开数据库
	{
		fprintf(stderr,"sqlite3_open:%s  line:%d\n",sqlite3_errmsg(pdb),__LINE__);
		return -1;
	}
	
	char create[128] = "create table if not exists dict1 (word char,translation char)";
	if(sqlite3_exec(pdb,create,NULL,NULL,&errmsg) != SQLITE_OK)//创建数据库
	{
		fprintf(stderr,"create:%s line:%d\n",errmsg,__LINE__);
		return -1;
	}

	FILE *fdict= fopen("./dict.txt","r");//打开辞典文件
	if(fdict == NULL)
	{
		ERR_MSG("fopen");
		return -1;
	}
	
	char work[2][64];//存放单词和意思
	char works[128]="";//存放从文件中读取的数据
	bzero(work,sizeof(work));
	while(fgets(works,sizeof(work),fdict))//每次读取一行
	{
		int count = 0,i=0;
		while(1)//找到单词和意思的分界
		{
			if(works[i++] == ' ')
		   	{
				count++;
				if(count == 2) break;
			}
			else count = 0;
		}
		works[i-2] = 0;
		strcpy(work[0],&works[0]);//存放单词
		while(works[i]==' ') i++;

		strcpy(work[1],&works[i]);//存放意思
		work[1][strlen(work[1])-1] = 0;

		char insert[256]="";
		snprintf(insert,sizeof(insert),"insert into dict1 values(\"%s\",\"%s\")",work[0],work[1]);//sql语句,把单词和词义放入表中
		if(sqlite3_exec(pdb,insert,NULL,NULL,&errmsg) != SQLITE_OK)//执行sql语句
		{
			fprintf(stderr,"%s:%s  line:%d",insert,errmsg,__LINE__);
			return -1;
		}
		bzero(work,sizeof(work));
	}

	sqlite3_close(pdb);
	return 0;
}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值