这是我的头文件
#pragma once
#include<fstream>
#include<iostream>
#include<string>
#include<list>
#define RTV_304ss "RTVs_304 Stainless Steel.txt"
using namespace std;
struct RTVs
{
string a[10];
};
class RoomTemperatureValues
{
public:
RoomTemperatureValues();
~RoomTemperatureValues();
void Readfile();//读取文件数据
list <RTVs> List1;//存储文件数据的容器
};
这是源文件
//#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<string>
#include"RoomTemperatureValues.h"
RoomTemperatureValues::RoomTemperatureValues()
{
}
RoomTemperatureValues::~RoomTemperatureValues()
{
}
void RoomTemperatureValues::Readfile()
{
ifstream ifs;
RTVs p1_304ss;
string a1[10]= { "Name", "Density", "SHC", "TC", "YS", "UTS", "PR", "EM", "Hardness", "MP" };
//string Name, Density, SHC,TC;//SHC:Specific Heat Capacity; Thermal Conductity;
//string YS, UTS,PR,EM;//YS:Yeild Strength; UTS:ultimate Tensile Strength; PR:Posssion Ratio; EM:Elasticity modulus
//string Hardness, MP;//MP:Melting Point;
for (int i = 0; i < sizeof(a1) / sizeof(a1[0]); i++)//对字符串数组p1_304ss进行赋值
{
p1_304ss.a[i] = a1[i];
}
ifs.open(RTV_304ss);
char buf[1024] = { 0 };
List1.clear();//容器清空
ifs >> buf;//读取文本第一行内容;
for (int i = 0; i < sizeof(a1) / sizeof(a1[0]); i++)
{
char* p1 = strtok(buf, ":");//读取该行“:”前的内容;
if (p1 != NULL)//“:”前内容非空
{
p1 = strtok(NULL, ":");//读取“:”后的内容
if (p1 != NULL)//“:”后的内容非空
{
p1_304ss.a[i] = p1;
}
}
ifs >> buf;//继续读取下一行内容
}
}
int main()
{
RoomTemperatureValues::Readfile();
return 0;
}
出现的问题是