[問題] 關於用fgets & sscanf讀檔的問題
開發平台(Platform): dev c++
問題(Question):1. 遇到不同字元時無法有效切割
2. 想寫出正確判別式
餵入的資料(Input):
1+1a,2-3b,3+5c
8+1g,4-9r,6-8d
4,5
1+1g,2-3z
8+1g,4-9r
8,6
預期的正確結果(Expected Output):
同上
錯誤結果(Wrong Output):
後面變成亂碼
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
#include <stdlib.h>
int p=0,w=0;
int main(int argc, char *argv[])
{
int a[20];
int b[20];
char str[50];
FILE *fp_r=fopen("1.txt","r");
while(fgets(str,50,fp_r)!=NULL){
sscanf(str,"%d%[^+-]%d%[^a-z]\n",&a[p],&b[p]);
printf(" is %d,%d\n",a[p],b[p]);
p++;
}
printf("\n");
system("PAUSE");
return 0;
}
補充說明(Supplement):
我目前只有寫到想要正確的顯示 1+1u 這種型態
並要將數字部分 丟入array裡面 +號跟u都要忽略
但是不知道為什麼出來總是有問題
想請問一下哪裡寫錯了!!
順便問一下 由於我接下來要寫 判別
-------------------------------
1+1u,6-9l
2-8y,1+4d
5,4
------------------------------
這四個數字各要丟入不同的array裡面
但他們在同一個檔案裏面 中間還有空行
我還在思考該怎麼寫判別式 請問有強者指點一下嗎?
或是告訴我有哪方面的關鍵字 我可以google找答案
新手很笨 請多多包涵QQ
感謝大家!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 74.115.6.51
※ 編輯: wwi 來自: 74.115.6.8 (10/12 20:02)
→
10/12 20:05, , 1F
10/12 20:05, 1F
※ 編輯: wwi 來自: 74.115.6.8 (10/12 20:07)
→
10/12 20:07, , 2F
10/12 20:07, 2F
→
10/12 20:09, , 3F
10/12 20:09, 3F
→
10/12 20:11, , 4F
10/12 20:11, 4F
→
10/12 20:13, , 5F
10/12 20:13, 5F
→
10/12 20:14, , 6F
10/12 20:14, 6F
→
10/12 20:16, , 7F
10/12 20:16, 7F
→
10/13 10:16, , 8F
10/13 10:16, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章