将单词导入表格中

该程序打开一个名为word.db的sqlite3数据库,创建一个包含英文和中文单词的表格。用户输入文件名后,程序读取文件中的单词对,将它们插入到数据库的word表中,实现了从文本文件到数据库的导入功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 作业需求:将单词表导入到表格中

  1. 实现过程:

#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
#include <string.h>

int main(int argc, const char *argv[])
{
    sqlite3 * db=NULL;
    if(sqlite3_open("./word.db",&db)!=SQLITE_OK)
    {
        fprintf(stderr,"sqlite3_open fail:%d:%s\n",sqlite3_errcode(db),sqlite3_errmsg(db));
        return -1;
    }
    printf("sqlite3_open success\n");

    char sql[128]="create table if not exists word (english char,chinese char);";
    char *errmsg=NULL;
    
    if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
    {
        fprintf(stderr,"line:%d sqlite3_exec:%s\n",__LINE__,errmsg);
        return -1;
    }

    char filename[20];
    printf("请输入要导入的文件名>>>");
    scanf("%s",filename);
    while(getchar()!=10);

    FILE*fp=fopen(filename,"r");
    char english[200],chinese[200];
    int res=0;

    while(1)
    {
        bzero(english,sizeof(english));
        res=fscanf(fp,"%s",english);        //读到空格结束
        if(EOF==res)
        {
            break;
        }
        bzero(chinese,sizeof(chinese));
        fgets(chinese,sizeof(chinese),fp);  //读到换行结束
        char sql[128]="";
        sprintf(sql,"insert into word values (\"%s\",\"%s\")",english,chinese);
        char *errmsg = NULL;
        if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
        {
            fprintf(stderr,"line:%d sqlite3_exec:%s\n",__LINE__,errmsg);

        }
    }
    sqlite3_close(db);
    fclose(fp);

    return 0;
}

3.实验结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值