C语言实现将字典dict.txt上传到数据库中

这篇具有很好参考价值的文章主要介绍了C语言实现将字典dict.txt上传到数据库中。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码

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

int do_insert(sqlite3 *db,char *word,char *mean);

int main(int argc, const char *argv[])
{
    //以读的方式打开文件
    FILE* fp=fopen("./dict.txt","r");
    if(NULL == fp)
    {
        perror("fopen");
        return -1;
    }
    printf("fopen success\n");

    //创建并打开一个数据库
    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("open database my.db success\n");

    //创建一个表格 create table dict(word char,mean char);
    //数据库中sql语句怎么写 这里就怎么写                                      
    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 __%d__\n",errmsg,sqlite3_errcode(db
        return -1;
    }
    printf("create table dict success\n");

    //定义存放数据的数组
    char buf[128]="";
    char word[64]="";
    char mean[64]="";
    char *res=NULL;
    while(1)
    {
        bzero(buf,sizeof(buf));
        bzero(word,sizeof(word));
        bzero(mean,sizeof(mean));

        res=fgets(buf,sizeof(buf),fp);
        if(NULL == res)
        {
            printf("读取完毕\n");
            break;
        }

        char *p=buf;
        char *wordp=word;
        char *meanp=mean;

        while(*p !=' ' || *(p+1) != ' ')
        {
            if(*p=='\'')
            {
                *wordp++ ='\'';
                p++;
                continue;
            }
            *wordp++ = *p++;
            //printf("%c\n",*p);
        }

        while(*p ==' ')
            p++;

        while(*p!='\n')
        {
            *meanp++ = *p++;
        }
        do_insert(db,word,mean);
    }


    //关闭数据库
    if(sqlite3_close(db) != SQLITE_OK)
    {
        fprintf(stderr,"sqlite3_close:%s %d __%d__\n",\
                sqlite3_errmsg(db),sqlite3_errcode(db),__LINE__);
        return -1;
    }
    printf("close database my.db success\n");

    return 0;
}

int do_insert(sqlite3 *db,char *word,char *mean)
{
    char sql[128]="";
    sprintf(sql,"insert into dict values(\"%s\",\"%s\")",word,mean);

    //执行命令
    char *errmsg = NULL;
    if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
    {
        fprintf(stderr,"__%d__sqlite3_exec:%s\n",__LINE__,errmsg);
        return -1;
    }
    printf("insert into dict success \n");

    return 0;
}

结果

C语言实现将字典dict.txt上传到数据库中,网络编程,数据库,c语言,开发语言文章来源地址https://www.toymoban.com/news/detail-652444.html

到了这里,关于C语言实现将字典dict.txt上传到数据库中的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python的数据类型——字典(dict)

    目录 1. Python的数据类型 2. 什么是字典 3. 字典存储的数据 4. 字典的语法  5. 新建字典 (1) 用{ }新建一个空字典

    2024年02月06日
    浏览(31)
  • 一键导出数据库中表结构定义(数据字典)的工具

    导出数据库中标的定义,即所谓的数据字典 一、新建maven工程中加入依赖 在maven工程的pom.xml中添加依赖 二、在maven工程,将如下GenerateDocument .java文件加入工程中; 修改想要导出的mysql链接参数,直接执行即可导入数据库设计的word文档

    2024年02月06日
    浏览(59)
  • SQL SERVER数据库生成数据字典并且导出方法

      右键→点击 新建查询

    2023年04月10日
    浏览(37)
  • 150万学术名词中英对照字典ACCESS数据库

    今天这个数据是一款字典的类型的软件,专门用来查询一些学术上面的名词的中英对照,超过180个学科分类,150多万条记录,伴随您悠游于学海之中,是您做学问、写论文的好帮手。 主要科目有:電子計算機名詞(107213)、電機工程名詞(100395)、電力工程(68379)、外國地

    2024年02月06日
    浏览(31)
  • vue中数据字典dicts的说明和用法介绍

    一、什么是数据字典? 字典(dictionary)是一种数据结构,用于存储键-值对。字典是一个无序的集合,通过键来索引值。一般来说,在Python中,字典用花括号 {}标识,键值之间用 冒号:分隔,键-值对之间使用 , 分割。而在vue前端项目的开发中,也会使用到dicts字典。 二、数

    2024年02月03日
    浏览(31)
  • 【ArcGIS Pro二次开发】(41):勘测定界txt文件转数据库(批量)

    在规划工作中有时候会收到一种带坐标点的txt文件: 上网查了一下资料,这是根据《勘测定界界址点坐标交换格式》制作的固定格式文件。 其中包含了坐标系、精度、地块编号、地块名称、坐标点等信息。 这个工具的目的就是将TXT格式坐标批量转换为数据库文件,并读取地

    2024年02月09日
    浏览(35)
  • 【网络编程】学习成果day7:用sqlite3和fgetc将字典写入数据库中的数据表。

    1.将字典写入数据库中的数据表 代码: 运行结果:

    2024年02月09日
    浏览(30)
  • Python数据容器(列表list、元组tuple、字符串str、字典dict、集合set)详解

    相关介绍: 一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素。每一个元素,可以是任意类型的数据 分为五类: 列表[list]、元组(tuple)、字符串(str)、集合{set}、字典{dict} 相应区别: 列表 元祖 字符串 集合 字典 元素数量 多个 多个 多个 多个 多个 元素类

    2024年02月11日
    浏览(61)
  • thinkadmin上传excel导入数据库

    2024年01月23日
    浏览(44)
  • Springboot+vue 实现图片上传至数据库并显示

    前端是Vue + Element-UI 采用el-upload组件(借鉴官方)上传图片: action 在这里可以随便设置,因为在后面有 :http-request 去自己设置请求,注意由于是自己写请求需要 :auto-upload=“false” ,并且由于是前后端连接要解决跨域问题,所以在 $hostURL+imageUrl 定义了一个全局变量: 在meth

    2024年02月07日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包