我正在研究一个最终将评估桥梁手的程序,但我在第一步中遇到了困难。我应该读取这样一个文件:从C++中的文件中为数据结构中的变量添加值
2C QD TC AD 6C 3D TD 3H 5H 7H AS JH KH
3C 4C 2D AC QC 7S 7C TD 9C 4D KS 8D 6C
2C 3C KC JC 4C 8C 7C QC AC 5C 9C 6C TC
5H 3S 4D KC 9S 3D 4S 8H JC TC 8S 2S 4C
2S 5D 6S 8S 9D 3C 2H TH
2H 6D %S 8S 7S 4D 3H 4S KS QH JH 5C 9S
2C QD TC AD 6C 3D TD 3C 5H 7H AS JH KD QS
2C QD TC AD 6C 3D TD 2C 5D 7H AS JH KD
2H 6D TS 8Z 7S 4D 3H 4S KS QD JH 5C 9S
该文件中的每一行代表13手牌中的1手。正如你所看到的,有一些线路多于或少于13张卡,但是这应该在稍后用错误处理来处理。
我还需要一个数据结构以有组织的方式保存卡。我的问题是这样的:
我该如何将文件中的值赋给我的数据结构中的变量?我可能会推翻它,但是由于输入是成对的(第一个字符是值,第二个是套装),我真的被抛弃了。我非常确定,一旦我将卡(价值+花色)存储到数据结构中,我可以使用一系列存储卡将它们存储到手中,然后继续执行我的其余程序,我只是卡在数据中结构部分。
这里是我有什么样的代码至今:
struct hand {
char value;
char suit;
};
int main() {
ifstream bridgeFile;
bridgeFile.open("prog3.dat");
if(!bridgeFile) {
cerr << "Open Failure" << endl;
exit(1);
}
else {
cout << "File is open" << endl;
}
return 0;
}
任何帮助将不胜感激。
好吧,听起来很复杂大声笑 – 2014-10-07 10:31:17