C++ 用于读取c+中的文件时忽略函数异常+;

C++ 用于读取c+中的文件时忽略函数异常+;,c++,file,C++,File,我试图使用ignore函数跳过几行,但是函数的参数有着奇怪的不同。它不应该是streamsize(字符数和分隔符)(以停止忽略指定的字符)。我遇到的问题是,我的第二个参数必须是整数。虽然我想使用“\n”,但它不接受它,因为它是字符 std::basic_istream&std::basic_istream::ignore(std::streamsize,int)“”:无法将参数2从“const char[2]”转换为“int” “\n”(带双引号)是字符串文字,而不是char文字。在本例中,它是

我试图使用ignore函数跳过几行,但是函数的参数有着奇怪的不同。它不应该是streamsize(字符数和分隔符)(以停止忽略指定的字符)。我遇到的问题是,我的第二个参数必须是整数。虽然我想使用“\n”,但它不接受它,因为它是字符

std::basic_istream&std::basic_istream::ignore(std::streamsize,int)“”:无法将参数2从“const char[2]”转换为“int”

“\n”
(带双引号)是字符串文字,而不是
char
文字。在本例中,它是两个
char
的数组;相当于
{'\n','\0'}

“\n”
(带单引号)是一个
char
文本。它表示一个换行符

std::istream::ignore
只接受单个字符作为其分隔符,因此必须使用后者



注意:
std::istream::ignore
的第二个参数是
int
而不是
char
,因此它可以容纳额外的“文件结尾”伪字符。eof值必须不同于任何有效字符值,因此用于分隔符的类型必须大于
char
“\n”
是一个由2个
字符组成的数组(
'\n'
'\0'
)。
'\n'
是一个
字符
。我已经将双引号改成了单引号,它似乎起作用了。我会研究它们之间的区别。你介意告诉我为什么它们不同吗?