2023年9月4日

作业:将dict.txt导入到数据库中

#include 
#include 
int main(int argc, const char *argv[])
{
	//打开数据表
	sqlite3 *db;
	if(sqlite3_open("./english.db",&db)!=SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_open:%s %d __%d__\n",\
				sqlite3_errmsg(db),sqlite3_errcode(db),__LINE__);
		return -1;
	}
	printf("sqlite3_open success\n");

	//创建一个表格
	char sql[128]="create table if not exists word(word char,mean char);";
	char *errmsg = NULL;
	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_exec:%s __%d__\n",errmsg,__LINE__);
		return -1;
	}
	printf("create table word success\n");

	//以只读打开文件
	FILE *fp=fopen("./dict.txt","r");
	for(int i=0;i<7987;i++)
	{
		int wdlong=0;
		int nlong=0;
		char word[20];
		char mean[20];
		int flag=0;
		//寻找空格位置
		if(flag==0)
		{			
			while((word[wdlong]=fgetc(fp))!=' ')
			{
				wdlong++;
			}
			word[strlen(word)-2]=0;
			flag=1;
		}

		if(flag==1)
		{
			//寻找\n位置
			while((mean[nlong]=fgetc(fp))!='\n')
			{
				nlong++;
			}
			mean[nlong]=0;
		}


		//插入数据
		char sql[128]="";
		sprintf(sql,"insert into word values('%s','%s');",word,mean);
		char *errmsg=NULL;
		if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
		{
			fprintf(stderr,"sqlite3_exec:%s_%d_\n",errmsg,__LINE__);
		}
	}

	fclose(fp);




	return 0;
}

你可能感兴趣的:(网络)