為什麼這篇Fscanf 2鄉民發文收入到精華區:因為在Fscanf 2這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Wyvern (かがみさま)看板C_and_CPP標題[問題] 關於fscanf讀取txt資料時...
開發平台(Platform): (Ex: Win10, Linux, ...)
Win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
餵入的資料(Input):
1 3 10 20 30
2 2 100 102
3 0
4 4 101 19 106 106
5 0
每行第一個值為index,
第二個值為此index的成員數量num
後面就是各成員的value
程式碼(Code):(請善用置底文網頁, 記得排版)
while(fscanf(f, "%d\t%d", &idx, &num) != EOF) //先抓index跟成員數量
{
for(i=0; i<num; ++i) //幾個成員就抓幾個值
{
if(fscanf(f, "\t%d", &val) != EOF );
printf("...."); //印出來
}
}
我的問題是 從第一行起 我先抓了兩個值
確認index和成員個數後 逐個抓取成員的value印出來
我fscanf裡面沒有抓取'\n'
fscanf的行為是如何讓他從第一行跳到第二行的呢?
不好意思新手問題 看半天沒能看懂 所以上來板上求救orz
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.98.154.254
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1483610775.A.08F.html
一次讀兩個值: fscanf(f, "%d %d", a, b), b會是次行第一個值 這樣嗎?
不太瞭解所謂跳過是甚麼意思 那這兩個值之間存在的間隔是space?
※ 編輯: Wyvern (220.129.193.72), 01/06/2017 11:05:05