0
我在文本文件中读取某些行以星号开头,然后其他行包含指示矩形大小的数字。我很困惑我应该如何提取这些信息。我最初尝试使用fgets()
来读取字符串,然后使用sscanf
来读取整数,如图所示;从文件中读取字符串和整数
while(fgets(line, MAX_CHARS, infile) != NULL) {
if(line[0] == '*') {
printf("%s\n", line);
}
sscanf(line, "%d%d", &height, &width);
printf("height: %d, width: %d\n", height, width);
}
但它的打印是这样的;
*案例#1
高度:0,宽度:0
高度:10,宽度:20
....
*案例#2:形状
高度:10,宽度:20
高度:7,宽度:7
....
我应该逐字读取这个文件吗?
样品输入:(未更新的高度和宽度的时候了)
*Case #1
10 20
X
X
XXX
*Case #2: Shape
7 7
XX
XX
X
提供输入文件的实际示例将有所帮助。 –
请参阅http://stackoverflow.com/questions/15306314/reading-both-string-and-integer-from-a-text-file,尽管您的文件格式可能不同。 – bakalolo
尝试'else if(2 == sscanf(line,“%d%d”,&height,&width)) printf(“height:%d,width:%d \ n”,height,width);' – BLUEPIXY