Pa是一个结构体数组,fullname是该结构体的一个元素(char数组)。为什么在这行代码中,如果立即按 ENTER 键,条件将为TRUE。按 ENTER 键(不输入其他字符)后会发生什么。我的理解是生成一个换行符并保留在输入队列中。在这种情况下get()函数是否放置空字符?该函数返回一个cin对象,如果没有设置标志,为什么它是 false?
if(!(cin.get(pa[i].fullname, SLEN))) return i;
Pa是一个结构体数组,fullname是该结构体的一个元素(char数组)。为什么在这行代码中,如果立即按 ENTER 键,条件将为TRUE。按 ENTER 键(不输入其他字符)后会发生什么。我的理解是生成一个换行符并保留在输入队列中。在这种情况下get()函数是否放置空字符?该函数返回一个cin对象,如果没有设置标志,为什么它是 false?
if(!(cin.get(pa[i].fullname, SLEN))) return i;
您为什么决定“不设置任何标志”?
std::basic_istream<CharT,Traits>::get:如果输入空字符串,则流程设置为“失败”。