作者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
1F:推 LPH66:%3s%20s ? 140.112.28.92 11/29 10:27
2F:→ auronx1132:试过了 未解决 173.35.255.176 11/29 11:57
3F:推 hotdogee:%3c只会把3个byte放进my_data.key118.169.202.246 11/29 15:13
4F:→ hotdogee:不会自动加上\0,你要自己加上去118.169.202.246 11/29 15:14
5F:→ hotdogee:另外要读你的int要改成"%3c%20c%4c"118.169.202.246 11/29 15:46
6F:→ auronx1132:以解决! int的问题可能是我表达的不好 173.35.255.176 11/30 15:01
7F:→ auronx1132:不过也解决了 感恩! 173.35.255.176 11/30 15:01
8F:推 ggg12345:没看到正解,可以贴上来吗?还是不用scanf 140.115.4.12 11/30 19:14