c语言可以读取文件内容 来创建变量吗?

比如 txt 内容
int a;
char b;
c语言读取内容后自动创建 变量 int a;和char b;
这样做的目的是 有很多类型的值需要存储 类似 数据库的功能 ,即数据字段数据类型,
而且字段数目和类型不是固定的 ,例如 数据库创建表时 每个表可能有不同类型的字段类型和字段个数 ,需求就是类似数据库的功能吧
我知道 结构体可以存储不同类型的数据 ,即自定义类数据类型
那么如何实现 可变 数据结构呢 ?
数据库是如何实现这样功能的?
难道一个数据表 创建一个结构体 然后在编译一次 ,我想肯定不是吧!
那有什么办法实现这个功能 呢 ,我也知道c语言不能反射 ,但mysql不就是c编写的吗
还有sqite
他们是如何实现数据表中字段数目和类型的呢?
给个思路方向 谢谢!

c语言可以利用fscanf和sscanf两个函数

读取txt文件内容并写入到变量里面。
scanf:可以自动识别换行符和空格符

(1)fscanf可以读取txt文件里面同一行多个变量和不同行的变量都同时读取到多个变量里面。
(2)sscanf是先读取到一个缓存里面,然后再赋值到各个变量中,是逐行读取的,这种用法适用于多维变量。

1. C语言中,如何读取文件中的数据?
fscanf扫描数据到系统缓冲区中 在扫描的时候做一下计数 然后在从缓冲区中把数据一个一个取出来创建数组。
2. 如何用c语言从txt文件中读取数据 ?
用C语言从txt文件2113据,可以使用C标准库文件自带5261的文件接口函数进行操作.一、4102打开文件:1653 FILE*fopen(const char*filename,const char*mode); 因为txt文件为文本文件,所以打开时选择的mode应为"r"或者"rt".
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-05
这是一个经典算法(实现变体),可以搜索到例子代码,下面简单介绍基础。
一是介绍union,示例:
union {
float f;
int i;
} v;
这样v.f就是实数类型,v.i是整数类型,但是他们的内存空间是重复的,还可以可有添加许多类型的定义。但是这样的一个联合虽然具有各种面具,但是我们怎么知道应该使用哪张面具呢,以及如何表示空(未初始化呢),这就需要配合struct,示例:

struct VAR{
int t;
union {
float f;
int i;
} v;
}

外面套上一层struct,VAR.t来表示类型,例如我们规定0表示空(未初始化)、1代表整数、2代表浮点数、等等
当然,要具体实现需要做的事情还很多,最终还需要类(C++)来实现运算符重载。本回答被网友采纳
第2个回答  2021-05-05
使用include “xxx.txt”进行导入,在预处理阶段会把文本中内容移至include处,这样就可以直接使用该变量了。