写了个时间类其中包含这样一个函数
Status Time::SetTime(istream io)
{
io>>hour;
io.ignore();
io>>minute;
return OK;
}
主要为了有时候从标准输入流读入,有的时候从文件输入流读入,所以写了这个函数,但是在调用过程中无法达到目的,编译没有错误,运行没有出现错误,但是就是无法赋值~请教大虾~~~
下面是调用的过程
cin>>orderType;
if (orderType!='A'&&orderType!='D'&&orderType!='E')
{
cout<<"Error in GetOrder>>wrong ordertype.code:00001"<<endl;
return ERROR;
}
cin.ignore();
cin.getline(carNumber,7);
我的输入是A,A07418,10:10
cin.ignore();
time.SetTime(std::cin);
cin.getline的问题,把缓冲区的数据全都读完了,改为cin.get(carNumber,7),就行了
int SetTime(istream &io)
{
int hour,minute;
io>>hour;
io.ignore();
io>>minute;
cout << "hour=" << hour <<endl;
cout << "minute=" << minute <<endl;
return 1;
}
int main(){
char orderType;
cin>>orderType;
if (orderType!='A'&&orderType!='D'&&orderType!='E')
{
cout<<"Error in GetOrder>>wrong ordertype.code:00001"<<endl;
}
cin.ignore();
char* carNumber = new char[8];
//cin.getline(carNumber,7);
cin.get(carNumber,7);
carNumber[7]='\0';
cout << carNumber << endl;
//我的输入是A,A07418,10:10
cin.ignore();
SetTime(cin);
delete carNumber;
system("pause");
}
Status Time::SetTime(istream io)
{
io>>hour;
io.ignore();
io>>minute;
return OK;
}
这个函数我这边编译不过去
改成Status Time::SetTime(istream& io)试下
另外你的目的是什么,感觉你说的很含糊- -