0
所以我有这个构造的std ::函数getline从istream转换成字符串[]多次空白
A::A(std::istream& is)
{
if (validation(is))
{
std::string line[SIZE];
unsigned int i = 0;
while((std::getline (is, line[i])&& i < SIZE))
{
i++;
}
....
验证看起来是这样的,它存储的是符合并进行一些测试,并返回一个布尔值。 它工作得很好,但这个构造函数中的第二个getline是空白的(没有存储在行中)。 如果我评论验证,它工作得很好。 所以我想这是与getline和缓冲区。我试图清除,但我不擅长流。
如果有人有猜测,thx!
主要
ifstream myfile("file.txt");
A a(myfile);
validation.cpp
bool validation(std::istream& is)
{
string line[SIZE];
unsigned int i = 0;
bool valide = false;
while((std::getline(is, line[i])&& i < SIZE))
{
i++;
}
....
谢谢你的快速答复! – Benoit