day7

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

day7_网络编程

将文件内容拷贝到数据库

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#include <signal.h>
#include <sys/wait.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/select.h>
#include <sqlite3.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\n", sqlite3_errmsg(db), __LINE__);
        return 0;
    }

    // 创建数据表
    char *errmsg = NULL;
    char sql[128] = "create table if not exists world (english char,china char);";
    if (sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
    {
        fprintf(stderr, "sqlite3_exec:%s %d\n", sqlite3_errmsg(db), __LINE__);
        return 0;
    }

    FILE *fd = fopen("./dict.txt", "r");
    if (fd == NULL)
    {
        perror("fopen");
        return 0;
    }

    char buf[128] = "";
    char world[128] = "";
    char china[128] = "";
    while (1)
    {
        int flag = 0;
        memset(buf, 0, sizeof(buf));
        memset(world, 0, sizeof(world));
        memset(china, 0, sizeof(china));
        if (fgets(buf, sizeof(buf), fd) == NULL)
            break;
        buf[strlen(buf) - 1] = '\0';
        char *ptr = buf;
        char *w = world;
        char *c = china;
        while (*ptr != ' ')
        {
            *w = *ptr;
            w++;
            ptr++;
        }
        while (*ptr != '\0')
        {
            *c = *ptr;
            c++;
            ptr++;
        }
        memset(sql, 0, sizeof(sql));
        sprintf(sql, "insert into world values (\"%s\",\"%s\");", world, china);
        char *errmsg = NULL;
        if (sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
        {
            fprintf(stderr, "sqlite3_exec:%s %d\n", errmsg, __LINE__);
            return 0;
        }
    }

    // 关闭数据库
    if (sqlite3_close(db) != SQLITE_OK)
    {
        fprintf(stderr, "sqlite3_close:%s %d\n", sqlite3_errmsg(db), __LINE__);
    }
    fclose(fd);

    return 0;
}
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“day7” 的相关文章

变量命名

#include<iostream> using namespace std; int _a = 0;//函数外的不允许以下划线打头 int main() { int _; int __ = 0;//不允许连续2个下划线 int _A = 0;//不允许一个下...

清除浮动之双伪元素

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,...

Dhaka 2003 / UVa 12050 - Palindrome Numbers (回文数)

12050 - Palindrome NumbersTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=467&page...

POJ 1028 / East Central North America 2001 Web Navigation (栈)

Web Navigation http://poj.org/problem?id=1028 Time Limit:  1000MS Memory Limit: 10000K Description Standard web brow...

PHP中进行二进制转换的方法和技巧是什么 - 编程语言

这篇文章主要介绍了PHP中进行二进制转换的方法和技巧是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP中进行二进制转换的方法和技巧是什么文章都会有所收获,下面我们一起来看看吧。 首先,我们需要了解一些基...

C++ STL入门教程(6)——set(集合)的使用(附完整程序代码)

一、简介集合(Set)是一种包含已排序对象的关联容器,不允许有重复元素。 begin()返回指向第一个元素的迭代器clear()清除所有元素count()返回某个值元素的个数empty()如果集合为空,返回trueend()返回指向最后一个元素的迭代器equal_range()返回集合中与给定值相等...