需要在C盘根目录下有create.txt和create2.txt方可运行。
如:create1.txt
create table Student
(
id float(4) NOT NULL;
name char(100) NULL;
grade float(4) NULL;
)
create2.txt
create table Student2
(
id2 float(4) NOT NULL;
name2 char(100) NULL;
grade2 float(4) NULL;
)
完整源码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
enum DataType {floatType, stringType};
struct Row {
void** data;
Row* next;
};
struct Column {
DataType type;
int length;
bool allowNull;
char name[256];
Column* next;
};
struct Table{
char name[256];
Row* rowHead;
Column* columnHead;
int columnCount;
Table* next;
};
Table* tableHead;
int createTable(char*,Table*);
int getLength(char*);
int getColumnTypeLength(char* , DataType* , int*);
int main(){
Table* t = (Table *)malloc(sizeof(Table));
memset(t, 0, sizeof(Table));
char* path;
path = "C://create.txt";
createTable(path,t);
t = (Table *)malloc(sizeof(Table));
memset(t, 0, sizeof(Table));
path = "C://create2.txt";
createTable(path,t);
//test
printf(&#