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