我有一个原子元素,符号和名称的原子元素的csv文件。该文件格式为:
1,H,氢
2,他,氦
3,李锂
...
我想创建一个由原子序数引用的符号数组。即。 arrayName中[32] = “格”;
我一直在尝试使用sscanf,但它一直没有用。粗略的代码如下:
char temp[200];
float temp_z;
std::string temp_ele;
std::string temp_name;
while(!fin.eof())
{
fin.getline(temp,200);
sscanf(temp, "\"%f\",\"%s\", \"%s\"",&temp_z, &temp_ele, &temp_name);
cout<<temp_z<<endl;
cout<<temp_ele<<endl;
cout<<temp_name<<endl;
}
答案 0 :(得分:1)
使用此循环读取文件的每一行:
string line;
ifstream myfile;
myfile.open("myfile.txt");
if(!myfile.is_open()) {
perror("Error open");
exit(EXIT_FAILURE);
}
while(getline(myfile, line)) {
// Split line by comma to get what's your want
}
然后用逗号分隔每一行以获取该行的每个元素。
答案 1 :(得分:-1)
您可以像这样阅读每个元素:
string theStrings[200]; //initialize to correct size
int i = 0;
string name;
while(!fin.eof())
{
getline(thefilestream, name, ',' );
theStrings[i++] = name;
cout<<name<<endl;
}