我正在编写一个程序,并且在程序的一部分中,我需要读取用户的整数输入,并将每个数字乘以其他两个数字的mod,然后将该数字转换为其ASCII字符值并将其输出到文件。但是,所有这些工作正常……我只是无法结束循环。每次我输入一些整数,例如67 78 100时,它将转换每个数字并将其输出到文件中,就像它假定的那样,但是一旦完成,它就不会继续执行程序的其余部分,而是返回到循环的顶部。并要求用户提供其他输入。因此,在转换完所有数字并将它们存储在文件中之后,如何使循环结束?
相关代码...
while(cin >> f && f != '\n')
{
num = f * b % N;
CharFile << char(num) << endl;
}
答案 0 :(得分:1)
cin用于格式化文本,这意味着它不会给您换行符之类的东西。要获取未格式化的字符,请尝试cin.get()来查看是否正在阅读换行符:
while(cin >> f)
{
num = f * b % N;
CharFile << char(num) << endl;
if (cin.get() == '\n') break;
}
答案 1 :(得分:0)
使用break;
。有关更多信息,请访问以下网站:https://www.tutorialspoint.com/cplusplus/cpp_break_statement.htm