C++中的cin.clear()和cin.get()的用法
1个回答
展开全部
这个clear的作用是首先清除所有cin流输入中出现的错误标识,然后将cin流的错误标识设置为参数中指定的标识。
错误标识有:goodbit,
failbit,
eofbit,
badbit
四种
函数默认参数为goodbit,即没有错误。
下面是一个使用例子:
#include
<iostream>
#include
<fstream>
using
namespace
std;
void
TestFlags(
ios&
x
)
{
cout
<<
(
x.rdstate(
)
&
ios::badbit
)
<<
endl;
cout
<<
(
x.rdstate(
)
&
ios::failbit
)
<<
endl;
cout
<<
(
x.rdstate(
)
&
ios::eofbit
)
<<
endl;
cout
<<
endl;
}
int
main(
)
{
fstream
x(
"c:\test.txt",
ios::out
);
x.clear(
);
TestFlags(
x
);
x.clear(
ios::badbit
|
ios::failbit
|
ios::eofbit
);
TestFlags(
x
);
}
get函数的意思就是从输入流中读取一个或多个字符
使用例子:
#include
<iostream>
using
namespace
std;
int
main(
)
{
char
c[10];
c[0]
=
cin.get(
);
cin.get(
c[1]
);
cin.get(
&c[2],3
);
cin.get(
&c[4],
4,
'7'
);
cout
<<
c
<<
endl;
}
错误标识有:goodbit,
failbit,
eofbit,
badbit
四种
函数默认参数为goodbit,即没有错误。
下面是一个使用例子:
#include
<iostream>
#include
<fstream>
using
namespace
std;
void
TestFlags(
ios&
x
)
{
cout
<<
(
x.rdstate(
)
&
ios::badbit
)
<<
endl;
cout
<<
(
x.rdstate(
)
&
ios::failbit
)
<<
endl;
cout
<<
(
x.rdstate(
)
&
ios::eofbit
)
<<
endl;
cout
<<
endl;
}
int
main(
)
{
fstream
x(
"c:\test.txt",
ios::out
);
x.clear(
);
TestFlags(
x
);
x.clear(
ios::badbit
|
ios::failbit
|
ios::eofbit
);
TestFlags(
x
);
}
get函数的意思就是从输入流中读取一个或多个字符
使用例子:
#include
<iostream>
using
namespace
std;
int
main(
)
{
char
c[10];
c[0]
=
cin.get(
);
cin.get(
c[1]
);
cin.get(
&c[2],3
);
cin.get(
&c[4],
4,
'7'
);
cout
<<
c
<<
endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询