【发布时间】:2013-12-20 21:56:23
【问题描述】:
我需要使用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(file," %*[^\n]s");
完全按照fgets() 阅读所有行,但没有保留它!
【问题讨论】:
-
我们能看到崩溃的代码吗?我们无法修复我们看不到的东西。
-
int funct(char* name) { FILE* file = OpenFileToRead(name);整数计数=0; while(!feof(file)) { fscanf(file," %[^\n]s");计数++; } fclose(文件);返回计数; }