C中fscanf函数中的格式字符串混淆

C中fscanf函数中的格式字符串混淆,c,format-string,C,Format String,我无法理解下面这条线,有人能告诉我它是干什么的吗 从人们可能看到的情况来看: *-赋值抑制字符,用于不将正在读取的值赋值给fscanf的任何接收参数 [^\n]-与除(^)新行(\n)之外的任何符号匹配的转换说明符 因此,此fscanf将读取所有符号,直到符合新行。请尝试。它匹配除换行符以外的任何字符,而*禁止转换赋值,因此字符只是“跳过”。“如果不是新行,则读取符号;如果是新行,则忽略符号。”--嗯,它读取换行符之前的所有内容,并忽略读取的所有内容。@FelixPalmen完全正确,现已修复。

我无法理解下面这条线,有人能告诉我它是干什么的吗

从人们可能看到的情况来看:

*
-赋值抑制字符,用于不将正在读取的值赋值给
fscanf
的任何接收参数

[^\n]
-与除(
^
)新行(
\n
)之外的任何符号匹配的转换说明符


因此,此
fscanf
将读取所有符号,直到符合新行。

请尝试。它匹配除换行符以外的任何字符,而
*
禁止转换赋值,因此字符只是“跳过”。“如果不是新行,则读取符号;如果是新行,则忽略符号。”--嗯,它读取换行符之前的所有内容,并忽略读取的所有内容。@FelixPalmen完全正确,现已修复。”。
fscanf(file_pointer, "%*[^\n]");