我正在尝试使用fscanf从文件中读取一堆单词(全部在单独的行中,我想找到每个单词的长度。 fscanf是否允许我这样做,否则,是否还有其他方法可以这样做?我一直在寻找有关“输入项已成功匹配和分配”的解释,但仍然有些混乱。谢谢。
要查找扫描的长度,然后在说明符后面加上一对"%n"
。 "%n"
保存扫描偏移量,不贡献scanf()
结果。
int n1;
int n2;
char buff[100];
// v-------- space to consume leading white-space
while (scanf(" %n%99s%n", &n1,buff, &n2) == 1) {
printf("word <%s> length: %d\n", buff, n2 - n1);
}