gpt4 book ai didi

c - 如何忽略 fscanf() 中的空格

转载 作者:太空狗 更新时间:2023-10-29 15:22:07 31 4
gpt4 key购买 nike

我需要使用 fscanf 来忽略所有空格并且不保留它。我尝试使用 (*)[^\n] 之间的组合,如:fscanf(file,"%*[^\n]s ",);当然它崩溃了,有什么办法只用 fscanf 吗?

代码:

int funct(char* name)
{
FILE* file = OpenFileToRead(name);
int count=0;
while(!feof(file))
{
fscanf(file," %[^\n]s");
count++;
}
fclose(file);
return count;
}

解决了!将原来的 fscanf() 更改为: fscanf(文件,"%*[^\n]s"); 完全按照 fgets() 读取所有行,但没有保留它!

最佳答案

在 fscanf 格式中使用空格 ("") 会导致它读取并丢弃输入中的空白,直到找到非空白字符,然后将该非空白字符留在输入中作为要读取的下一个字符。所以你可以这样做:

fscanf(file, " "); // skip whitespace
getc(file); // get the non-whitespace character
fscanf(file, " "); // skip whitespace
getc(file); // get the non-whitespace character

fscanf(file, " %c %c", &char1, &char2); // read 2 non-whitespace characters, skipping any whitespace before each

来自:

Ignoring whitepace with fscanf or fgets?

关于c - 如何忽略 fscanf() 中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20712572/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com