[問題] 請問關於字串分解的問題
各位大大,我想要從硬碟讀入一個文字檔.txt,
內容是一篇英文的文章,或是英文的歌詞,
希望透過程式將每個英文單字分開,
我利用scanf的話往往標點符號會跟著單字一起走,
有沒有什麼方法把符號都去掉,只留英文單字呢?
另外一個問題是,能否做到把長度都為1的單字存在一起,
長度都為2的單字存在一起,依此類推。
謝謝各位大大。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.184.127
推
10/15 17:15, , 1F
10/15 17:15, 1F
→
10/15 17:15, , 2F
10/15 17:15, 2F
→
10/15 17:16, , 3F
10/15 17:16, 3F
→
10/15 17:17, , 4F
10/15 17:17, 4F
→
10/15 17:37, , 5F
10/15 17:37, 5F
→
10/15 17:41, , 6F
10/15 17:41, 6F
這個方法好像會卡住,一直重複抓同一個單字。
而且濾除的部分,如果不確定到底會出現哪些符號,要怎麼一一列出呢?
推
10/15 17:42, , 7F
10/15 17:42, 7F
→
10/15 17:42, , 8F
10/15 17:42, 8F
不知道能不能用二維陣列存?譬如說A[1][]就是長度1的那些字串,A[2][]就是長度2的?
推
10/15 17:47, , 9F
10/15 17:47, 9F
→
10/15 17:49, , 10F
10/15 17:49, 10F
→
10/15 17:51, , 11F
10/15 17:51, 11F
我寫了一個簡單的程式跑了一下,他會一直卡在第一個英文單字就無線迴圈了,
不知道是哪裡出錯了?
FILE *inPtr;
inPtr=fopen("c:\input.txt","r");
while(!feof(inPtr)){
fscanf(inPtr,"%[a-z|A-Z]",buffer);
printf("%s\n",buffer);
}
→
10/15 18:04, , 12F
10/15 18:04, 12F
推
10/15 18:10, , 13F
10/15 18:10, 13F
大大我用了這行,變成完全沒東西印出來0.0
※ 編輯: cheatx 來自: 220.136.184.127 (10/15 18:17)
→
10/15 18:23, , 14F
10/15 18:23, 14F
推
10/15 22:36, , 15F
10/15 22:36, 15F
→
10/15 22:37, , 16F
10/15 22:37, 16F
→
10/16 01:34, , 17F
10/16 01:34, 17F