输入结束后在循环时退出

时间:2018-10-15 01:31:38

标签: c++ file while-loop

我正在编写一个程序,并且在程序的一部分中,我需要读取用户的整数输入,并将每个数字乘以其他两个数字的mod,然后将该数字转换为其ASCII字符值并将其输出到文件。但是,所有这些工作正常……我只是无法结束循环。每次我输入一些整数,例如67 78 100时,它将转换每个数字并将其输出到文件中,就像它假定的那样,但是一旦完成,它就不会继续执行程序的其余部分,而是返回到循环的顶部。并要求用户提供其他输入。因此,在转换完所有数字并将它们存储在文件中之后,如何使循环结束?

相关代码...

while(cin >> f && f != '\n')
{
    num = f * b % N;
    CharFile << char(num) << endl;
}

2 个答案:

答案 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