本文介绍了的fscanf用C不读整行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是如此愚蠢简单,但我只是有它的问题。
This is so stupidly simple but I'm just having issues with it.
一个文本文件中有一个头,
A text file has a header,
例如,
# Avizo BINARY-LITTLE-ENDIAN 2.1
define Lattice 496 384 470
Parameters {
AlignTransform {
slice0000 0 -0 -30 -1,
slice0001 0 -0 -30 -1,
slice0002 0 -0 -30 -1,
和我试图读取每个使用的fscanf这些行。
And I'm trying to read each of these lines using fscanf.
int i;
for ( i = 0; i < 10; i++ ) {
fscanf(fp, "%s\n", buf);
printf("%d) %s\n",i,buf);
}
因此本
0) #
1) Avizo
2) BINARY-LITTLE-ENDIAN
3) 2.1
4) define
5) Lattice
6) 496
7) 384
8) 470
9) Parameters
所以,它的解析,而不是空白的换行。不知道发生了什么。
So it's parsing the whitespace instead of newlines. Not sure what's happening.
推荐答案
的%S
在的fscanf
符读词,所以它达到一个空间时,将停止。
The %s
specifier in fscanf
reads words, so it stops when reaching a space.
Use fgets
to read a whole line.
这篇关于的fscanf用C不读整行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!