我正在编写一个程序,让用户获得这样的菜单
Multiplication 1
Division 2
Subtraction 3
Addition 4
Review 5
他们可以在其中选择一个选项,并输入要使用的数字范围以及要处理的问题数量,这会为他们生成数学问题。
该部分正常工作,我掌握了它,因此当他们弄错了一个问题时,它会使用math.txt
将问题放入文件fout
中,并且有效。
我现在想做的是,当他们选择查看文件中的内容时,会出现这些问题。
文件格式为(例如)
1 + 1 =
2 * 2 =
我只是不确定如何读取数字并确定它是什么运算(乘法,加法等)
我试着只是让它读入一个数字
std::ifstream fin("math.txt");
int x;
fin>>x;
但是每次都会返回0
。
因此,总而言之,我的问题是-如何读取文件并提取方程式(例如4 + 4 = \ n 3/3 =),以便用户可以解决它?
答案 0 :(得分:3)
听起来像是问题在于您尚未刷新先前的写操作。您可以使用flush()
实例close()
或fout
显式地执行此操作。示例:
std::ofstream fou("math.txt");
fou << "1 + 1 =";
// Need this: fou.close();
std::ifstream fin("math.txt");
int x;
fin >> x;
std::cout << x;
缺少fou.close()
时,我能够重现您的问题。