q**********9 发帖数: 711 | 1 文本文件,第一行存的是变量名,大概~100个(100列),每个变量的类型也不一样, 每一列
里从第二行到最后是数值.
最理想的情况是想: 把第一行的变量名作为数组名,把第二行到结束的数值都存到这个
数组里?
C++里能不能这样做啊?
C++变量名都要提前定义,怎么才能利用读入的字符串动态的生成一个数组名呢和类型呢
? | S**I 发帖数: 15689 | 2 可以用macro实现,不过会很难看;最好别这么干。
【在 q**********9 的大作中提到】 : 文本文件,第一行存的是变量名,大概~100个(100列),每个变量的类型也不一样, 每一列 : 里从第二行到最后是数值. : 最理想的情况是想: 把第一行的变量名作为数组名,把第二行到结束的数值都存到这个 : 数组里? : C++里能不能这样做啊? : C++变量名都要提前定义,怎么才能利用读入的字符串动态的生成一个数组名呢和类型呢 : ?
| w***g 发帖数: 5958 | 3 boost::any可以一般化处理不同类型。或者干脆都存成字符串。数据存到下面两个数据
结构中:
vector names; (或者干脆用map把变量名和列号对应起来
)
vector> values;
先用getline把第一行读出来,放入一个istringstream, 然后从istringstream中不断读
出字符串放入names,直到失败。这样就确定了变量的个数。然后不断循环用getline获
取行直到失败,每行都放入istringstream进行读取, 或者读到失败, 或者用names.s
ize()确定行中数据个数。这种事情貌似没什么更简单的办法。
【在 q**********9 的大作中提到】 : 文本文件,第一行存的是变量名,大概~100个(100列),每个变量的类型也不一样, 每一列 : 里从第二行到最后是数值. : 最理想的情况是想: 把第一行的变量名作为数组名,把第二行到结束的数值都存到这个 : 数组里? : C++里能不能这样做啊? : C++变量名都要提前定义,怎么才能利用读入的字符串动态的生成一个数组名呢和类型呢 : ?
| q**********9 发帖数: 711 | 4 很难看是什么意思啊?
我还要从别的文件读入数学表达式,这些表达式都是用这些实际变量名的,
非常需要读入文件的时侯能直接以这写实际变量名来存储数据.
先一个包子奉上
【在 S**I 的大作中提到】 : 可以用macro实现,不过会很难看;最好别这么干。
| w***g 发帖数: 5958 | 5 你难道还要用每行读进来的变量对这些表达式求值,哈哈。
【在 q**********9 的大作中提到】 : 很难看是什么意思啊? : 我还要从别的文件读入数学表达式,这些表达式都是用这些实际变量名的, : 非常需要读入文件的时侯能直接以这写实际变量名来存储数据. : 先一个包子奉上
| q**********9 发帖数: 711 | 6 我之前有google到过说可以 用 map 对应.
我感觉我没太看懂你下面的内容,或者是没有把问题说清楚,
我的第一行是变量名 每一个变量名以't'间隔,很容易确定变量个数 m.
eg: x1 m2 n3
1.1 2 0
3.2 4 1
6.1 6 0
如何生成这样的数组? float x1[3] ={1.1, 3.2, 6.1};
int m2[3] = {2, 4, 6};
bool n3[3] ={0, 1, 0};
能不能再详细解释下,多谢
起来
断读
.s
【在 w***g 的大作中提到】 : boost::any可以一般化处理不同类型。或者干脆都存成字符串。数据存到下面两个数据 : 结构中: : vector names; (或者干脆用map把变量名和列号对应起来 : ) : vector> values; : 先用getline把第一行读出来,放入一个istringstream, 然后从istringstream中不断读 : 出字符串放入names,直到失败。这样就确定了变量的个数。然后不断循环用getline获 : 取行直到失败,每行都放入istringstream进行读取, 或者读到失败, 或者用names.s : ize()确定行中数据个数。这种事情貌似没什么更简单的办法。
| q**********9 发帖数: 711 | 7 不是,我没说清楚,
比如我有变量 x1[1000] x100[1000];(实际变量名没有规律)
先通过数学变换生成 newx1[1000] newx100[1000],
x1-x100 类型不统一, 我读进来的表达式可以含有 x1 -x100 和 newx1 - newx100 的
任何一个变量名, 在后续的应用中我只需要知道表达式中变量的类型, 最大值,最小值
信息,
表达式不是计算,是约束.
不知道现在说清楚了么?
【在 w***g 的大作中提到】 : 你难道还要用每行读进来的变量对这些表达式求值,哈哈。
|
|