所以我必须编写一个程序,将文件中的每一行读入一个字符串,然后将该字符串更改为其他字符串。
这是文件的样子:
Saw 10 33.82
Drill 8 27.58
Hammer 23 76.34
Nail 13 9.54
Screwdriver 54 10.34
Boxcutter 23.11
这是我的ReadData函数:
void ReadData (Hardware * &pArray, MyString filename)
{
int count = 0;
string itemLine[MAX_LINE];
int size = 0;
ifstream inFile;
inFile.open(filename);
/*inFile >> size;
if (size > MAX_LINE)*/
size = MAX_LINE;
pArray = new Hardware[size];
for(int i = 0; i < size; i++)
{
getline(inFile, itemLine[i]);
}
for (int i = 0; i < size; i++)
{
int position = 0;
int next = 0;
pArray[i].name[count] = itemLine[i]
}
}
我的MAX_LINE设置为12,我不知道如何阻止文件读取空格,因为文件中只有6行。除此之外,我实际上可以阅读该文件,但之后我必须说出“#34; Saw&#34;进入它自己的阵列和&#39; 10&#39;和#33.; 33.82&#39;。我想我也必须使用下一个,我不知道该怎么做。我猜我必须使用我制作的结构。
struct Hardware
{
char name[MAX_STRING];
int quantity;
float price;
};
毕竟在另一个功能中,我将不得不将10乘以33.82等等以获得总价,因此它们不能成为字符串。我想我必须使用atoi,但我并非百分之百确定。