15 12 7
8 5 A
12 7 B
4 9 C
等。
我想从数组的第二行开始保存数据,即:array [8] [5] = A
所以现在我得到了关于如何从文件中读取的示例代码:
int main(int argc, char** argv) {
if(argc < 2) {
cout << "Please insert file-name" << endl;
return 1;
}
ifstream input(argv[1]);
int i(0), temp;
while(input >> temp) {
cout << ++i << ". Number: " << temp << endl;
}
return 0;
}
我现在的问题是,如果我使用(我的想法是将它们放在一个数组中,然后将它们分类为2d数组):
while(input >> tmp)
它在第一个字母处停止,因为tmp来自int类型。但是如果我使用char代替它,它会保存每个角色,所以在12中我得到1和2 ......
使用(将它们直接导入我的2d数组):
while(input >> a >> b >> c)
(虽然c来自char类型)并没有得到任何输出。 我觉得解决方案不是很难,但不知何故我没有得到解决方案。如果有人可以帮助我,我会很高兴! TY
答案 0 :(得分:0)
也许这会有效,但是,我不确定它是否会正确处理无效输入:
while(input)
{
if(input >> temp) // was extraction to temp successful?
cout << ++i << ". Number: " << temp << endl;
else // otherwise
{
input.ignore(); // extract one character
input.clear(); // clear error flags
}
}