[問題] C語言 關於scanf的問題

看板Programming作者 (毿口)時間16年前 (2009/11/29 09:37), 編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/1
這是我要輸入的檔案 http://www.cse.yorku.ca/course/2031/mu1file 檔案內容大約是這樣: ABCMOKHTAR24 (24是一個integer 不是兩個char) 我試著要把檔案裡面的資料讀到我的struct裡面 #include <stdio.h> typedef struct StdData{ char key[3]; char name[20]; int Mark1; int Mark2; struct Customer *next; }StdData; int main(){ StdData my_data; (void) scanf("%3c%20c%4d", my_data.key, my_data.name, &my_data.Mark1); printf("%s %s %d\n", my_data.key, my_data.name, my_data.Mark1); } 首先第一段key 為何無法只讀取前三個 而會變成整串讀取? 另外最後的integer該用什麼方法才能讀取? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 173.35.255.176

11/29 10:27, , 1F
%3s%20s ?
11/29 10:27, 1F

11/29 11:57, , 2F
試過了 未解決
11/29 11:57, 2F

11/29 15:13, , 3F
%3c只會把3個byte放進my_data.key
11/29 15:13, 3F

11/29 15:14, , 4F
不會自動加上\0,你要自己加上去
11/29 15:14, 4F

11/29 15:46, , 5F
另外要讀你的int要改成"%3c%20c%4c"
11/29 15:46, 5F

11/30 15:01, , 6F
以解決! int的問題可能是我表達的不好
11/30 15:01, 6F

11/30 15:01, , 7F
不過也解決了 感恩!
11/30 15:01, 7F

11/30 19:14, , 8F
沒看到正解,可以貼上來嗎?還是不用scanf
11/30 19:14, 8F
文章代碼(AID): #1B4T1r_o (Programming)