文件操作练习。注意B题的读取不能用struct。
D和谐词汇的题,输入是若干字符串,不以空行结束. 所以 gets(line); while (line[0]){... gets(line);}就会导致时间超限,代码在等空行,但in数据没有。应改为while(gets(line))。
/*文件练习B题. 读取一个包含7类数据的二进制文件,找到指定部分内容,并正确解释输出。
思路分析:主体框架是读取二进制文件, while (fread(buffer, buffLen, 1, infile) > 0){...}
因为二进制文件的记录长度是固定的,所以可以计算每条记录的长度,使用fseek直接定位到指定段;
所以用fseek的话,实际只需要读一次就可以。
但是这道题的特殊之处在于,一条记录内是顺序包含7种类型数据,是分多次写入,因此带来的麻烦是
虽然每段内容结构相同,但不能用struct进行整块读取。
因为struct的成员之间有内存空隙;除非源文件本身是用struct格式写入才行。
因此,可以直接定位,但必须分别读取,写出的代码冗长,且容易在变量名和输出格式上出错。
经测试,struct {含7种变量和数组}的长度为200, 但实际7种变量和数组的总长要小一些.
因此,可以直接定位,但必须分别读取,写出的代码冗长,且容易在变量名和输出格式上出错。
一种办法是:按总长度整块读取到字节数组中,然后再逐个定义对应类型的指针,按间接访问就可格式化解释输出。
例: char buffer[LEN];
int i=0; printf("%c\n", buffer[i]); i++;
short * hdPtr=&buffer[i]; printf("%hd\n", *hdPtr); i+=sizeof(short);
*/
Standing | User | Nick Name | Solved | TIME PENALTY | Mark | A | B | C | D |
1 | 2021211267 | 维新派--尼古丁真 | 4 | 90:23:12 | 400 | 21:10:21 | 21:28:52 | 21:49:02 | 23:14:57 |
2 | 2022211339 | Wanghgk | 4 | 237:23:22 | 400 | 44:31:48 | 49:15:36 | 64:37:04 | 76:18:54 |
3 | 2022211337 | 出租广告位 | 4 | 381:29:54 | 400 | 95:41:02 | 96:08:34 | 87:44:45 | 97:15:33 |
4 | 2019211561 | lin | 4 | 513:52:26 | 400 | 15:06:57 | 93:32:56 | 67:41:22 | 335:51:11 |
5 | 2022211342 | wuyue0622 | 4 | 656:57:24 | 400 | 135:56:18 | 139:10:02 | 168:00:34 | 210:10:30 |
6 | 2022211331 | mjssssss | 4 | 690:54:34 | 400 | 145:06:25 | 159:44:27 | 170:31:28 | 208:52:14 |
7 | 2022211328 | 叼只羊 | 4 | 789:23:48 | 400 | 146:09:25 | 169:56:19 | 252:59:24 | 216:18:40 |
8 | 2022211316 | 2022211316 | 4 | 809:50:49 | 400 | 164:10:47 | 212:38:43 | 213:53:34 | 216:47:45 |
9 | 2022211298 | 理塘最速回笼传说 | 4 | 828:06:02 | 400 | 171:55:04 | 195:43:26 | 214:35:14 | 243:52:18 |
10 | 2022211294 | 僵饼人 | 4 | 841:23:43 | 400 | 91:47:18 | 218:54:07 | 217:26:43 | 310:55:35 |
11 | 2022211275 | jvav | 4 | 851:05:35 | 400 | 192:45:34 | 192:59:24 | 215:45:47 | 241:54:50 |
12 | 2022211271 | 摆摆摆 | 4 | 935:20:02 | 400 | 213:10:54 | 217:52:57 | 234:50:54 | 243:25:17 |
13 | 2022211335 | lw2333 | 4 | 937:58:29 | 400 | 167:19:13 | 214:06:37 | 215:03:21 | 339:29:18 |
14 | 2022211312 | 腻醉蚝狮 | 4 | 959:49:33 | 400 | 191:17:24 | 215:03:28 | 262:43:50 | 285:04:51 |
15 | 2022211282 | 2022211282 | 4 | 971:43:55 | 400 | 48:16:42 | 238:13:03 | 290:48:23 | 384:45:47 |
16 | 2021211268 | ♠ | 4 | 1040:54:42 | 400 | 375:24:22 | 63:31:28 | 290:21:38 | 306:57:14 |
17 | 2022211306 | 刘伟 | 4 | 1084:12:42 | 400 | 86:31:13 | 183:42:50 | 336:56:21 | 472:22:18 |
18 | 2022211279 | 叶星尘 | 4 | 1092:02:32 | 400 | 165:30:09 | 171:22:54 | 315:29:12 | 436:00:17 |
19 | 2022211348 | 范特西 | 4 | 1107:16:08 | 400 | 213:15:53 | 243:18:35 | 305:27:55 | 337:13:45 |
20 | 2022211283 | Aquarius | 4 | 1176:12:45 | 400 | 217:33:53 | 241:08:59 | 307:01:34 | 399:48:19 |
21 | 2022211346 | Joker | 4 | 1191:14:05 | 400 | 279:00:37 | 289:55:27 | 303:04:19 | 313:13:42 |
22 | 2022211300 | 略略略 | 4 | 1221:53:32 | 400 | 47:40:36 | 215:12:14 | 478:21:34 | 478:19:08 |
23 | 2022211236 | 2022211236 | 4 | 1278:43:42 | 400 | 240:56:21 | 242:17:59 | 381:01:34 | 407:47:48 |
24 | 2022211344 | Soyo | 4 | 1284:37:07 | 400 | 381:10:14 | 165:55:11 | 349:56:57 | 380:54:45 |
25 | 2022211311 | laccnhong | 4 | 1346:27:58 | 400 | 311:22:48 | 241:22:33 | 315:00:30 | 470:22:07 |
26 | 2022211272 | 2022211272 | 4 | 1378:37:59 | 400 | 265:19:15 | 355:20:49 | 374:45:13 | 378:52:42 |
27 | 2022211325 | LJessi | 4 | 1410:10:42 | 400 | 219:57:44 | 242:49:33 | 388:07:59 | 555:15:26 |
28 | 2022211286 | 金牌厨师枭某 | 4 | 1637:14:29 | 400 | 231:22:20 | 351:19:50 | 502:24:22 | 548:27:57 |
29 | 2022211276 | kepten | 4 | 1678:48:31 | 400 | 378:39:31 | 386:07:21 | 455:11:50 | 456:29:49 |
30 | 2022211289 | wlpar | 4 | 1767:39:15 | 400 | 336:20:45 | 336:45:51 | 545:46:42 | 546:25:57 |
31 | 2022211270 | 柳叶刀 | 4 | 1804:05:06 | 400 | 380:22:37 | 567:31:04 | 399:34:53 | 452:36:32 |
32 | 2022211324 | 无 | 4 | 1830:32:59 | 400 | 243:36:30 | 528:24:07 | 528:39:48 | 528:32:34 |
33 | 2022211295 | 人 | 4 | 1902:36:15 | 400 | 384:45:33 | 409:46:52 | 549:12:05 | 556:51:45 |
34 | 2022211285 | TheGun | 4 | 1915:24:21 | 400 | 474:16:51 | 475:36:51 | 480:09:45 | 483:00:54 |
35 | 2022211297 | 小菜鸡 | 4 | 2044:16:21 | 400 | 502:59:25 | 505:48:14 | 517:15:28 | 517:33:14 |
36 | 2022211246 | 小学徒 | 4 | 2115:39:45 | 400 | 385:38:02 | 506:23:12 | 552:47:47 | 667:50:44 |
37 | 2022211269 | shiroi | 4 | 2214:07:52 | 400 | 552:15:55 | 552:39:21 | 553:20:46 | 553:51:50 |
38 | 2022211281 | Reyurd | 4 | 2369:11:26 | 400 | 458:11:34 | 551:45:39 | 652:01:04 | 699:33:09 |
39 | 2022211356 | Fiona | 4 | 2457:32:58 | 400 | 380:52:17 | 499:40:52 | 834:51:56 | 734:47:53 |
40 | 2022213794 | Artery | 4 | 2493:13:19 | 400 | 405:50:58 | 695:46:51 | 695:47:29 | 695:48:01 |
41 | 2022211309 | 陈武 | 4 | 2567:25:37 | 400 | 363:47:50 | 476:49:52 | 811:34:45 | 912:13:10 |
42 | 2022211293 | ddl-ing | 4 | 2739:16:38 | 400 | 554:08:30 | 555:07:08 | 569:33:55 | 1059:27:05 |
43 | 2022211334 | 反方向的钟 | 4 | 2784:36:43 | 400 | 411:56:08 | 819:44:26 | 725:47:10 | 821:28:59 |
44 | 2021211266 | 守旧派--中华王源 | 4 | 2799:23:57 | 400 | 293:12:22 | 331:33:13 | 1082:25:42 | 1083:52:40 |
45 | 2022211238 | ukpkmkk | 4 | 2847:02:33 | 400 | 711:36:29 | 711:39:36 | 711:42:43 | 711:43:45 |
46 | 2022211358 | www | 4 | 2975:26:50 | 400 | 387:21:47 | 647:48:22 | 953:44:48 | 977:51:53 |
47 | 2022211353 | adsfhgkdsg | 4 | 2978:22:26 | 400 | 302:29:11 | 721:08:58 | 927:44:25 | 1024:59:52 |
48 | 2022211268 | 那年我双手抱头,被打得不能还手 | 4 | 3001:24:04 | 400 | 501:40:50 | 832:26:14 | 832:28:06 | 832:28:54 |
49 | 2022211273 | cs | 4 | 3050:41:29 | 400 | 115:54:28 | 1033:50:39 | 866:43:30 | 1028:32:52 |
50 | 2022211258 | lzjslzhhh | 4 | 3084:23:38 | 400 | 447:56:31 | 864:07:44 | 878:44:33 | 886:54:50 |
51 | 2022211240 | 铁卷秋田猫 | 4 | 3089:37:35 | 400 | 528:13:32 | 835:28:19 | 861:22:00 | 860:53:44 |
52 | 2022211256 | 付钱买烦恼 | 4 | 3126:00:27 | 400 | 580:30:38 | 745:12:57 | 864:38:03 | 935:18:49 |
53 | 2022211319 | 武16大大 | 4 | 3130:59:22 | 400 | 476:16:10 | 549:32:32 | 1050:48:14 | 1051:42:26 |
54 | 2022211242 | hawkingwallct | 4 | 3131:54:10 | 400 | 696:54:53 | 699:36:42 | 816:24:43 | 915:37:52 |
55 | 2022211257 | lizhenggg | 4 | 3153:42:48 | 400 | 474:20:43 | 544:27:20 | 1055:47:20 | 1069:47:25 |
56 | 2022211357 | 噶 | 4 | 3168:19:24 | 400 | 567:48:18 | 647:29:00 | 958:07:31 | 979:54:35 |
57 | 2022211303 | 李沅泽 | 4 | 3207:42:50 | 400 | 169:37:36 | 1004:08:24 | 1004:51:08 | 1027:45:42 |
58 | 2022211347 | 南极星 | 4 | 3262:13:09 | 400 | 815:21:44 | 815:24:43 | 815:37:32 | 815:49:10 |
59 | 2022211330 | L23 | 4 | 3304:47:12 | 400 | 818:23:42 | 818:39:30 | 833:27:05 | 833:36:55 |
60 | 2022211326 | sshs | 4 | 3346:40:42 | 400 | 836:39:36 | 836:39:58 | 836:40:24 | 836:40:44 |
61 | 2022211301 | 雒 | 4 | 3484:18:13 | 400 | 240:10:28 | 1081:08:48 | 1081:29:07 | 1081:29:50 |
62 | 2022211321 | 路人明ing | 4 | 3499:04:45 | 400 | 243:23:21 | 1081:16:41 | 1083:52:25 | 1082:52:18 |
63 | 2022211329 | 别挡我的路 | 4 | 3519:29:58 | 400 | 811:22:36 | 811:29:29 | 812:57:22 | 1082:00:31 |
64 | 2022211255 | daniiiiiel | 4 | 3641:01:42 | 400 | 910:13:13 | 910:15:20 | 910:16:12 | 910:16:57 |
65 | 2022211352 | Holour | 4 | 3658:20:10 | 400 | 408:55:00 | 1082:09:35 | 1082:26:53 | 1082:28:42 |
66 | 2022211341 | biomoo | 4 | 3697:18:20 | 400 | 457:38:09 | 1078:10:50 | 1079:46:36 | 1080:22:45 |
67 | 2022211296 | velpro | 4 | 3945:01:55 | 400 | 954:19:12 | 954:20:05 | 954:21:18 | 1082:01:20 |
68 | 2022211249 | 2022211249 | 4 | 3993:26:44 | 400 | 998:01:30 | 998:04:27 | 998:29:59 | 998:30:48 |
69 | 2022211333 | 瑟瑟发抖吧 | 4 | 3998:55:19 | 400 | 913:11:44 | 914:28:11 | 1081:48:21 | 1083:27:03 |
70 | 2022211349 | 泰拉瑞亚糕手 | 4 | 4087:20:17 | 400 | 837:38:12 | 1079:46:26 | 1080:58:00 | 1082:57:39 |
71 | 2022211350 | ... | 4 | 4095:26:53 | 400 | 984:34:51 | 985:34:56 | 1052:22:01 | 1070:55:05 |
72 | 2022211322 | 豌豆黄冠 | 4 | 4104:20:38 | 400 | 891:08:49 | 1057:44:34 | 1070:39:10 | 1080:28:05 |
73 | 2022211266 | lyt6666 | 4 | 4115:12:59 | 400 | 985:46:56 | 986:32:29 | 1070:51:10 | 1071:02:24 |
74 | 2022211305 | 正模 | 4 | 4123:25:19 | 400 | 1029:46:11 | 1029:47:29 | 1031:13:23 | 1031:58:16 |
75 | 2022211307 | 奥本 | 4 | 4146:30:51 | 400 | 1027:59:23 | 1028:54:37 | 1029:50:47 | 1052:26:04 |
76 | 2022211254 | karei | 4 | 4179:18:12 | 400 | 1044:42:55 | 1044:43:50 | 1044:44:34 | 1044:46:53 |
77 | 2022211354 | asdf | 4 | 4275:05:12 | 400 | 1071:26:15 | 1054:55:04 | 1071:54:31 | 1071:09:22 |
78 | 2022211290 | pvz2408 | 4 | 4312:15:25 | 400 | 1075:28:28 | 1076:04:15 | 1080:13:50 | 1079:48:52 |
79 | 2022211241 | qy | 4 | 4317:23:32 | 400 | 1079:09:48 | 1079:19:13 | 1079:16:48 | 1079:17:43 |
80 | 2022211323 | 爆米花 | 4 | 4325:07:30 | 400 | 1081:09:25 | 1081:11:32 | 1081:12:45 | 1081:13:48 |
81 | 2022211265 | 库丽米拉·叶尔兰 | 4 | 4326:12:40 | 400 | 1081:24:49 | 1081:26:51 | 1081:29:53 | 1081:31:07 |
82 | 2022211351 | 我不会写java | 4 | 4328:11:13 | 400 | 1081:53:41 | 1081:56:27 | 1081:59:52 | 1082:01:13 |
83 | 2022211327 | です | 4 | 4329:35:28 | 400 | 1083:43:38 | 1072:20:40 | 1083:35:10 | 1083:56:00 |
84 | 2022211332 | 渋谷最強伝說と下海のJK!女同唐可可です | 4 | 4331:01:50 | 400 | 1082:28:39 | 1082:45:34 | 1082:47:45 | 1082:59:52 |
85 | 2022211267 | 6 | 4 | 4331:29:53 | 400 | 1082:37:49 | 1082:57:00 | 1082:57:22 | 1082:57:42 |
86 | 2022211244 | 桶 | 4 | 4332:57:15 | 400 | 1083:08:38 | 1083:14:02 | 1083:16:14 | 1083:18:21 |
87 | 2022211262 | 屈财湘 | 4 | 4335:57:42 | 400 | 1083:46:19 | 1083:46:58 | 1083:47:42 | 1083:56:43 |
88 | 2022211274 | 一壹一 | 4 | 4339:18:39 | 400 | 1082:19:53 | 1083:38:20 | 1083:04:12 | 1083:36:14 |
89 | 2022211288 | 余川 | 3 | 2203:03:25 | 367 | (+67) | 717:19:58 | 740:18:33 | 744:04:54 |
90 | 2022211315 | 996xiaozhe | 3 | 188:45:25 | 300 | 24:35:08 | 24:57:11 | 135:53:06 | |
91 | 2022211304 | Last、炫神 | 3 | 1881:01:31 | 300 | 408:29:54 | 421:25:25 | 1050:06:12 | |
92 | 2022211313 | canyi | 3 | 3210:58:45 | 300 | 1051:15:54 | 1077:47:44 | 1077:55:07 | |
93 | 2022211263 | 1 | 3 | 3250:05:41 | 300 | 1083:20:03 | 1083:22:24 | 1083:23:14 | (+0) |
94 | 2021211394 | 2021211394 | 2 | 1444:07:55 | 267 | (+67) | 722:10:40 | 721:57:15 | |
95 | 2022211292 | 2022211292 | 2 | 430:36:49 | 200 | 213:15:39 | 214:01:10 | (+0) | |
96 | 2022211239 | 2022211239 | 2 | 1395:23:42 | 200 | 528:08:49 | 862:54:53 | ||
97 | 2022211355 | 。 | 2 | 1431:17:34 | 200 | 711:30:17 | 715:47:17 | (+0) | (+0) |
98 | 2022211245 | 李佳豪 | 2 | 1774:22:48 | 200 | 697:05:12 | 1076:17:36 | ||
99 | 2022211253 | 十九 | 2 | 2096:18:17 | 200 | 1047:26:19 | 1047:51:58 | ||
100 | 2022211287 | lin | 1 | 1053:27:56 | 133 | (+33) | 1053:07:56 | (+0) | |
101 | 2022211261 | 新西兰无水奶油 | 1 | 385:40:51 | 100 | 385:00:51 | |||
102 | 2019211506 | lan | 0 | 00:00:00 | 67 | (+67) | (+0) | (+0) | |
103 | 2022213795 | fres | 0 | 00:00:00 | 67 | (+67) |