作者auronx1132 (毿口)
看板Programming
標題[問題] C語言 關於scanf的問題
時間Sun Nov 29 09:37:54 2009
這是我要輸入的檔案
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
推 LPH66:%3s%20s ? 140.112.28.92 11/29 10:27
→ auronx1132:試過了 未解決 173.35.255.176 11/29 11:57
推 hotdogee:%3c只會把3個byte放進my_data.key118.169.202.246 11/29 15:13
→ hotdogee:不會自動加上\0,你要自己加上去118.169.202.246 11/29 15:14
→ hotdogee:另外要讀你的int要改成"%3c%20c%4c"118.169.202.246 11/29 15:46
→ auronx1132:以解決! int的問題可能是我表達的不好 173.35.255.176 11/30 15:01
→ auronx1132:不過也解決了 感恩! 173.35.255.176 11/30 15:01
推 ggg12345:沒看到正解,可以貼上來嗎?還是不用scanf 140.115.4.12 11/30 19:14