#include <iostream>
#include <fstream>
const int Size=20;
int main()
{
using namespace std;
char filename[Size];
char ch;
ifstream inFile;
int count=0;
cout<<"etr name of data file: ";
cin.getline(filename,Size);
inFile.open(filename);
while (!inFile.is_open())
{
cout << "Could not open the file " << filename << endl;
cout << "Plz etr right name:\n";
cin.getline(filename,Size);
inFile.open(filename);
if(inFile.is_open())
break;
}
inFile>>ch;
while(inFile.eof()==0)
{
count++;
inFile>>ch;
}
cout<<"including "<<count<<" chars\n";
inFile.close();
return 0;
}
以上是一段代码,问题是:当我在源文件的目录下新建一个abc。txt文档,编译后,一开始输入abc。txt就显示有多少个字符,如果一开始输错了,它会提示再次输入正确的文本,当再输入abc。txt时就会陷入死循环,不知道是为什么 希网高手解答
一段c++代码陷入死循环了,高手帮忙...
像这样进行输入判断就可以了.然后再在后面加上你的下面循环语句即可.int num=0; \/\/学生数目 do \/\/判断,只能输入1-10的数字 { cout<<"你有几个学生(1-10)?";cin>>num;\/\/这儿有个错误,惹输入的是字母,则程序会陷入死循环 if(num>10||num<1)cout<<"输入错误,你只能拥有至少1个,至...
一段c++代码陷入死循环了,高手帮忙...
cerr<double d;">";cin>>num;\/s;;return 1;} } 像这样进行输入判断就可以了;cout<<"请输入一些数字(在最后输入end结束):",改为num<10&&num>;if (!cin.eof()){ cin;if (s != "end"< 判断,只能输入1-10的数字 { cout<<"你有几个学生(1-10);\/这儿有个错误;string s;cin> ...
...下面的程序,如果输入的不合法,那就将陷入死循环,为什么?如何...
接着while循环继续读输入缓冲区,依然类型不匹配,于是就成了死循环
...后输入数字循环正常,但输入字母就会陷入死循环呢?求解!
便还是认为enter没有输入,不会读取缓冲器的字母;因此无限循环
C++程序,进入死循环。怎么改才能让他正常循环
cout << player="" one="" cin="">> player1;cout << player="" two="" cin="">> player2;while (player1 != "0" && player2 != "0"){ 改为 while (player1 != "0" && player2 != "0"){ cout << player="" one="" cin="">> player1;cout << player="" two=...
C++ 为什么while(! iofile.eof() )读取文件会出现死循环
具体为啥会死循环没调试不太清楚,但是比较可能的一个问题是 iofile.seekp(i*sizeof(stu_obj),ios::beg);的时候指向文件尾了 后面的读取操作就会瓦掉。可以改为 while(!iofile.eof()){ iofile>>stu_obj.tag>>stu_obj.num>>stu_obj.name>>stu_obj.score;stu_obj.disp();i++;iofile....
C++ 为什么while(! iofile.eof() )读取文件会出现死循环
eof() 函数本身,并不到输入流里去取数,不去读取文件。单用 while(!iofile.eof()); 由于没有别的读语句去读文件,而自身又不会去读取文件,只是不断地判断 iofile的 EOF 标志位状态,那就永远是 "没有读到EOF". 死循环。中国教科书 一脉相承,爱用 while(!fp.eof()) { 读,打印;}...
c++当输入非法字符时,陷入死循环,如何解决 比如输入为字符和符号_百度...
istream 会设置 flag ,在输入之后检查 istream 的 good() 函数是否返回 false,如果返回 false 直接退出即可
C语言陷入死循环的原因
=== 知道不进行无符号类型转换,程序会陷入死循环了啊,却不知道原因。看下面:这个c的最大正整数只能到127,c<255永远成立。情况是:c++到127之后变为了负数(称为算术溢出),一直加又从0开始了,所以死循环。把 char c=10;改为 int c;赋值没用,因为for循环又重新赋值了。至于出现蜂鸣声,是...
C++,eof()死循环
不能跳出循环是原因不在eof,在Length_rec函数里!!由于这个函数的while永远不会结束,导致了永远不可能return i,也就永远退不出eof。修改为\\ int Records::Length_rec(char a[]){ int i=0;while(a[i]!='\\0') \/\/这里修改了。i++;return i;} ...