这实际上是我第一次使用这个网站:通常我能够从以前的帖子中找到解决方案,但这次我无济于事。无论如何,我的问题是我试图解析一个包含逗号和括号的文件。它还包含字符串和双精度,我需要将它们从字符串更改为双精度,以便我可以使用数据。我做了一个结构来存储数据。
struct Artery{
string segment; string name;
double length; double radius; double wall_thickness;
double young_modulus; double compliance;
Artery(string seg, string n, double l, double r, double w, double y, double c)
: segment(seg), name(n), length(l), radius(r), wall_thickness(w), young_modulus(y), compliance(c){}
};
数据格式如下:
(节段、名称、长度、半径、壁厚、杨氏模量、顺应性)
(2A,Aorta_Ascendens,2、1.47、.164、4、53.4)
(2B,Aorta_Ascendens,2、1.44、.161、4、51.0)
( 3A, Arcus_Aorta, 2, 1.12, .132, 4, 29.6)
我真的只是 C++ 语言的初学者(实际上现在正在学习有关该主题的大学课程)并且我们还没有涵盖使用指针的低级编程,因此我知道通常用于解析这种事物。我能得到一些帮助吗?我真的不知道如何让它工作。
以下是我目前在尝试解析文件的过程中所拥有的内容。我想最终得到一个动脉向量,作为我访问信息的基础。
void read_data(vector<Artery>& v, ifstream& ifs){
//reads and seperates file for arterial data (currently from the westerhoff model)
vector<string> data_string;
while (!ifs.eof){
string data_set = " ";
getline(ifs, data_set);
data_string.push_back(data_set);
}
for (int i = 0; i < data_string.size(); ++i){
string seg; string n;
double l; double r; double w; double y; double c;
istringstream iss(data_string[i]);
}
}
回顾一下:我需要帮助来解析具有上述格式的文件,然后将该格式转换为动脉。然后我想将它们编译成动脉向量,以便以后访问它们。
谢谢,
扎夫