[爆卦]Linux sscanf是什麼?優點缺點精華區懶人包

為什麼這篇Linux sscanf鄉民發文收入到精華區:因為在Linux sscanf這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者eggheadlai (賴蛋蛋)看板C_and_CPP標題[問題] 請教關於sscanf的問題時...


開發平台(Platform): (Ex: VC++, GCC, Linux, ...)

VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)

OpenCV
問題(Question):

小弟想要讀入一連串影像及他的label值
在記事本中格式是
p01_01.jpg,1
p01_02.jpg,1
p01_03.jpg,1
p02_01.jpg,2
p02_02.jpg,2
p02_03.jpg,2
...
接著利用strtok與sscanf想把檔案名稱與label值分離出來
但一直出錯
錯誤程式:
if(fgets(string, 100, data_file) == NULL)
break;

sub_str = strtok( string, ",");
sscanf(strtok( NULL, "\n"), "%d", &Ans); //跑到這邊出錯

系統顯示:
於 0x6154f8e0 (msvcr90d.dll) 的 Test.exe 中發生未處理的例外狀況:
0xC0000005: 讀取位置 0x00000000 時發生存取違規

研究蠻久實在不知到哪裡出了問題,請板上大大能夠解惑,感激不盡~


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.18.62.4
firejox:fgets是藉由長度或換行中斷的... 05/29 19:20
eggheadlai:喔我就是要把所有圖片都讀進來讀到沒圖為止 05/29 19:22
eggheadlai:所以那邊應該沒有問題..我想O_O||| 05/29 19:22
eggheadlai:不好意思小弟程式新手..每次單步執行到sscanf就出錯QQ 05/29 19:23
firejox:你這樣寫也只能讀一筆而已... 05/29 19:25
eggheadlai:!?可是我之前沒有加入LABEL值程式可以順利讀完耶 05/29 19:26
eggheadlai:加了label值之後就出錯了= =" 05/29 19:27
firejox:恩...strtok(string,",\n")... 05/29 19:28
eggheadlai:f大我用你的方法試了可是還是不行o_o 05/29 19:35
eggheadlai:而且我的字串string裡面應該一開始是p01_01.jpg,1 05/29 19:36
firejox:你有沒有連sscanf裡和sub的strtok一起改.. 05/29 19:39
eggheadlai:f大可以說詳細一點麼小弟新手看不太懂@@||| 05/29 19:47
firejox:sub_str = strtok(string,",\n"); 05/29 19:48
firejox:sscanf(strtok(string,",\n"), ... );這樣? 05/29 19:49
eggheadlai:我試試o_o 05/29 19:50
eggheadlai:好像可以了~謝謝f大~感激不盡~ 05/29 20:07
tropical72:while(fscanf("%[^.].%[^,],%d%*c",buf, ext, &num)!= 05/30 06:39
tropical72:EOF ) {....} ?? 05/30 06:39

你可能也想看看

搜尋相關網站