网络编程DAY7

将单词导入数据库中

#include <myhead.h>

int main(int argc, const char *argv[])
{
	
	//打开一个数据库
	sqlite3 *db = NULL;
	if(sqlite3_open("./dict.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 dict (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 success\n");

	FILE *fp;
	if((fp=fopen("./dict.txt", "r")) == NULL)
	{
		ERR_MSG("open");
		return -1;
	}
	
	char buf[128] = "";
	char mean[128] = "";
	char word[128] = "";

	char *b=buf;
	char *m=mean;
	char *w=word;

	while(1)
	{
		bzero(buf,sizeof(buf));
		bzero(mean,sizeof(mean));
		bzero(word,sizeof(word));

		b=buf;
		m=mean;
		w=word;

		if(fgets(buf, sizeof(buf), fp) == NULL)
		{
			break;
		}

		buf[strlen(buf)-1]='\0';
		//获取英文单词
		while(*b != ' ' || (*(b+1) != ' '))
		{
			*(w++) = *(b++);
		}

		b+=3;
	
		//获取中文释义
		while(*b != 0)
		{
			*(m++)=*(b++);
		}

		bzero(sql,sizeof(sql));
		//插入数据库
		sprintf(sql, " INSERT INTO dict VALUES (\"%s\",\"%s\")", word, mean);
	
		if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
		{
			printf("%s,%s\n",word,mean);
			fprintf(stderr, "sqlite3_exec :%s  __%d__\n",\
					sqlite3_errmsg(db), __LINE__);
			return -1;
		}

	}
	printf("录入成功\n");
	


	fclose(fp);
	

	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_53478460/article/details/132676649
今日推荐