C语言输入两组数据库的方法 (c 输入两组数据库)
随着大数据时代的到来,数据库管理的重要性越来越被人们所认识。在日常开发中,常常需要输入两组数据库,以便进行数据比较、数据分析等。本文将介绍,以供读者参考。
一、输入方法
(一)文本文件输入法
文本文件输入是最常见的输入方法,比如.csv和.txt格式的文件。使用文本文件输入有以下好处:
1. 易于操作:由于文本文件具有人类可读性,操作比其他格式的文件更便捷
2. 体积小:文本文件体积较小,可快速传输和备份
3. 可视化:在编写程序时,可以先手动打开文本文件,直接查看其中的内容,有助于后面的编写。
下面是一个示例程序:
“`
#include
#include
int mn()
{
char fileName1[20] = “database1.csv”;
char fileName2[20] = “database2.csv”;
FILE *fp1, *fp2;
char buffer[1024];
char *record, *line;
int i = 0, j = 0;
char data1[100][100];
char data2[100][100];
fp1 = fopen(fileName1, “r”);
fp2 = fopen(fileName2, “r”);
if(fp1 == NULL || fp2 == NULL)
{
printf(“打开文件失败!”);
return 1;
}
while ((line = fgets(buffer, 1024, fp1)))
{
record = strtok(line, “,”);
while (record != NULL)
{
strcpy(data1[i++], record);
record = strtok(NULL, “,”);
}
}
i = 0;
while ((line = fgets(buffer, 1024, fp2)))
{
record = strtok(line, “,”);
while (record != NULL)
{
strcpy(data2[i++], record);
record = strtok(NULL, “,”);
}
}
fclose(fp1);
fclose(fp2);
return 0;
}
“`
(二)数据库接口输入法
除了文本文件输入法,还有一种常见的:通过数据库接口实现。所谓数据库接口,就是将数据库中的数据与C语言扯上联系的一个桥梁。这种方法可以将数据更直接地输入到程序中,有以下优势:
1. 输入效率高:通过数据库接口可以方便地对数据库进行数据查询和读取
2. 数据准确性高:数据库接口可以避免输入信息的错误和重复,确保数据的准确性
3. 适用范围广:数据库接口可与多种数据库系统兼容
以下是一个使用MySQL数据库接口的示例程序:
“`
#include
#include
#include
int mn()
{
MYSQL mysql = {0};
MYSQL_RES *res;
MYSQL_ROW row;
const char *server = “localhost”;
const char *user = “root”;
const char *password = “”;
const char *database = “database1”;
int port = 3306;
char sql1[100] = “SELECT * FROM student;”;
char sql2[100] = “SELECT * FROM teacher;”;
mysql_init(&mysql);
if (!mysql_real_connect(&mysql, server, user, password, database, port, NULL, 0))
{
printf(“MySQL连接错误: %s\n”, mysql_error(&mysql));
return 1;
}
printf(“MySQL连接成功\n”);
if(mysql_query(&mysql, sql1))
{
printf(“查询student表出错: %s\n”, mysql_error(&mysql));
return 1;
}
res = mysql_store_result(&mysql);
int i = 0, j = 0;
char data1[100][100];
while((row = mysql_fetch_row(res)))
{
strcpy(data1[i++], row[0]);
}
mysql_free_result(res);
if(mysql_query(&mysql, sql2))
{
printf(“查询teacher表出错: %s\n”, mysql_error(&mysql));
return 1;
}
res = mysql_store_result(&mysql);
i = 0;
char data2[100][100];
while((row = mysql_fetch_row(res)))
{
strcpy(data2[i++], row[0]);
}
mysql_free_result(res);
mysql_close(&mysql);
printf(“输入完成!”);
return 0;
}
“`
二、