C++ 动态指定数据的输入
所以我有很多文本文件,我正试图把它们放到数据库中。然而,这些文件是由许多人编写的。有各种不同的格式 与其为每个文件编写一个程序来导入它,我想尝试制作一个可以导入所有文件的程序。但我不知道如何处理它 这就是我想做的:C++ 动态指定数据的输入,c++,C++,所以我有很多文本文件,我正试图把它们放到数据库中。然而,这些文件是由许多人编写的。有各种不同的格式 与其为每个文件编写一个程序来导入它,我想尝试制作一个可以导入所有文件的程序。但我不知道如何处理它 这就是我想做的: #>prog somfile.txt File data format?: U\tT:D 我已经准备好了db和ext,只是不知道如何构建分隔列表解析器 在我的节目中,我想得到;每行大约如下: std::string format = U\tT:D ; //set from i
#>prog somfile.txt
File data format?: U\tT:D
我已经准备好了db和ext,只是不知道如何构建分隔列表解析器
在我的节目中,我想得到;每行大约如下:
std::string format = U\tT:D ; //set from input
std::string line = "Bob Dole<tab>11-13-17:25"; //Set from txt file readline
map<std::string,char> out = somefunc(line,format);
我想不出一个方法来做到这一点,因为数据中几乎可以有任何字符。还有一些类型是在其他类型之后出现的。我只需要指出正确的方向。要做到您所描述的,没有简单的方法,但是,如果您可以标准化某些组件,您可以让自己变得更容易。此外,如果这些数据被输入到数据库中,您需要构建一些结构来正确映射所有数据 我参与过的一个示例项目:
没有简单的方法可以实现您所描述的,但是,如果您可以标准化某些组件,您可以让自己变得更容易。此外,如果这些数据被输入到数据库中,您需要构建一些结构来正确映射所有数据 我参与过的一个示例项目:
你为什么不使用正则表达式,而不是使用自己的数据格式语言呢?@Barmar我得到的文件是别人的。而且对于如何输入也没有标准。唯一标准的是文件中每行一个条目。我的意思是使用正则表达式而不是
U\tT:D
。不管怎样,答案是没有简单的解决方案,你必须编写一个解析器。正则表达式可以这样使用吗?如果是这样的话,我完全赞成。你为什么不使用正则表达式,而不是用你自己的数据格式语言呢?@Barmar我得到的文件是别人的。而且对于如何输入也没有标准。唯一标准的是文件中每行一个条目。我的意思是使用正则表达式而不是U\tT:D
。不管怎样,答案是没有简单的解决方案,你必须编写一个解析器。正则表达式可以这样使用吗?如果是这样,我完全赞成。
out['U'] = "bob";
out['T'] = "11-13-17";
out['D'] = "25";
out['n'] = ""; //Nothing cause it wasn't there.