Re: [問題] fscanf讀檔的問題

看板C_and_CPP (C/C++)作者 ( . .)時間15年前 (2011/06/12 01:13), 編輯推噓2(205)
留言7則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《lO (請把你臉上的洨擦乾淨)》之銘言: : 今天要讀以下的字串 我想把 2 , h , g , n1 讀進陣列 : " U2 ( .A(h ), .B(g ), .Y(n1) );" : " U3 ( .A(n2), .B(n3), .Y(t ) );" : 請忽略兩旁的雙引號 : 我寫這行去讀: : fscanf(Read," U%d ( .A(%s), .B(%s), .Y(%s) );",&intger,str1,str2,str3); : 不曉得為什麼會錯? : 可以請各位大大提示嗎? 原因在於 ".A(n2)" 這樣的pattern 使用 .A(%s)抓 str1 會抓到 "n2)," 也就是抓到空白字元才會停 有時候會正常的原因是因為如 ".A(h )"這種, 後面有跟著一個空白字元, 就能夠正確的抓到 str1 = "h";; --- 正確的寫法可以參考 fscanf( Read, " U%d ( .A(%[^)]), .B(%[^)]), .Y(%[^)]) );", &integer, str1, \ str2, str3); -- The Net has me._ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.117.120

06/12 10:25, , 1F
push~~C的字串處理真是一堆眉角....orz
06/12 10:25, 1F

06/12 15:49, , 2F
用greedy來想吧
06/12 15:49, 2F

06/12 16:28, , 3F
感謝
06/12 16:28, 3F

06/12 22:09, , 4F
= =因為c的處理只比組語好點阿,不然為何一堆人討厭c
06/12 22:09, 4F

06/13 12:01, , 5F
@angleevil: C對字串其實有很多很好用處理方法
06/13 12:01, 5F

06/13 20:56, , 6F
=..=恩,應該是說要懂得函式庫和指標,才有辦法用得好
06/13 20:56, 6F

06/13 21:41, , 7F
其實我覺得標準庫的工具就夠多了
06/13 21:41, 7F
文章代碼(AID): #1Dyw8kum (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1Dyw8kum (C_and_CPP)