【发布时间】:2012-10-28 05:08:40
【问题描述】:
我正在尝试用 fstream 填充两个数组。一个是字符串,一个是整数。字符串数组(名称)填充良好,但字符数组只填充第一个值。
void fillInventory(ifstream &fin, int costArray[],string itemArray[])
{
string name = "junk";
string cost;
int i = 0;
int max = 0;
stringstream convert;
while(name != "none")
{
getline(fin, name);
getline(fin, cost);
if(name != "none")
{
itemArray[i] = name;
convert<<cost;
convert >> costArray[i];
}
i++;
}
}
我是在使用 stringstream 错误还是我的逻辑不正确,或者完全是其他什么?
【问题讨论】:
-
成本是整数,对吗?
-
是的,我认为这对我来说是最简单的方法。
-
你的整个 int 数组是填充了第一个值,还是只填充了数组的第一个元素?
-
尝试将 convert 的 decl 移动到与其使用相同的块?
-
@Chris,这只是第一个值被填充,其余的保持在 0(初始化值)