home *** CD-ROM | disk | FTP | other *** search
/ Sams Teach Yourself C in 21 Days (6th Edition) / STYC216E.ISO / mac / Examples / Day19 / strsort.c < prev    next >
MacBinary  |  2002-08-11  |  1.9 KB  |  [TEXT/LMAN]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Sun Aug 11 11:18:00 2002, modified Sun Aug 11 11:18:00 2002, creator 'LMAN', type ASCII, 1332 bytes "strsort.c" , at 0x5b4 286 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[LMAN]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 73 74 72 73 6f 72 | 74 2e 63 00 00 00 00 00 |..strsor|t.c.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4c 4d 41 | 4e 00 00 ff ff ff ff 00 |.TEXTLMA|N.......|
|00000050| 00 00 00 00 00 05 34 00 | 00 01 1e b9 7c 30 a8 b9 |......4.|....|0..|
|00000060| 7c 30 a8 00 00 00 00 00 | 00 00 00 00 00 00 00 00 ||0......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 14 e0 00 00 |........|........|
|00000080| 2f 2a 20 55 73 69 6e 67 | 20 71 73 6f 72 74 28 29 |/* Using| qsort()|
|00000090| 20 61 6e 64 20 62 73 65 | 61 72 63 68 28 29 20 77 | and bse|arch() w|
|000000a0| 69 74 68 20 73 74 72 69 | 6e 67 73 2e 20 2a 2f 0d |ith stri|ngs. */.|
|000000b0| 0a 0d 0a 23 69 6e 63 6c | 75 64 65 20 3c 73 74 64 |...#incl|ude <std|
|000000c0| 69 6f 2e 68 3e 0d 0a 23 | 69 6e 63 6c 75 64 65 20 |io.h>..#|include |
|000000d0| 3c 73 74 64 6c 69 62 2e | 68 3e 0d 0a 23 69 6e 63 |<stdlib.|h>..#inc|
|000000e0| 6c 75 64 65 20 3c 73 74 | 72 69 6e 67 2e 68 3e 0d |lude <st|ring.h>.|
|000000f0| 0a 0d 0a 23 64 65 66 69 | 6e 65 20 4d 41 58 20 32 |...#defi|ne MAX 2|
|00000100| 30 0d 0a 0d 0a 69 6e 74 | 20 63 6f 6d 70 28 63 6f |0....int| comp(co|
|00000110| 6e 73 74 20 76 6f 69 64 | 20 2a 73 31 2c 20 63 6f |nst void| *s1, co|
|00000120| 6e 73 74 20 76 6f 69 64 | 20 2a 73 32 29 3b 0d 0a |nst void| *s2);..|
|00000130| 0d 0a 69 6e 74 20 6d 61 | 69 6e 28 20 76 6f 69 64 |..int ma|in( void|
|00000140| 20 29 0d 0a 7b 0d 0a 20 | 20 20 20 63 68 61 72 20 | )..{.. | char |
|00000150| 2a 64 61 74 61 5b 4d 41 | 58 5d 2c 20 62 75 66 5b |*data[MA|X], buf[|
|00000160| 38 30 5d 2c 20 2a 70 74 | 72 2c 20 2a 6b 65 79 2c |80], *pt|r, *key,|
|00000170| 20 2a 2a 6b 65 79 31 3b | 0d 0a 20 20 20 20 69 6e | **key1;|.. in|
|00000180| 74 20 63 6f 75 6e 74 3b | 0d 0a 0d 0a 20 20 20 20 |t count;|.... |
|00000190| 2f 2a 20 49 6e 70 75 74 | 20 61 20 6c 69 73 74 20 |/* Input| a list |
|000001a0| 6f 66 20 77 6f 72 64 73 | 2e 20 2a 2f 0d 0a 0d 0a |of words|. */....|
|000001b0| 20 20 20 20 70 72 69 6e | 74 66 28 22 45 6e 74 65 | prin|tf("Ente|
|000001c0| 72 20 25 64 20 77 6f 72 | 64 73 2c 20 70 72 65 73 |r %d wor|ds, pres|
|000001d0| 73 69 6e 67 20 45 6e 74 | 65 72 20 61 66 74 65 72 |sing Ent|er after|
|000001e0| 20 65 61 63 68 2e 5c 6e | 22 2c 4d 41 58 29 3b 0d | each.\n|",MAX);.|
|000001f0| 0a 0d 0a 20 20 20 20 66 | 6f 72 20 28 63 6f 75 6e |... f|or (coun|
|00000200| 74 20 3d 20 30 3b 20 63 | 6f 75 6e 74 20 3c 20 4d |t = 0; c|ount < M|
|00000210| 41 58 3b 20 63 6f 75 6e | 74 2b 2b 29 0d 0a 20 20 |AX; coun|t++).. |
|00000220| 20 20 7b 0d 0a 20 20 20 | 20 20 20 20 20 70 72 69 | {.. | pri|
|00000230| 6e 74 66 28 22 57 6f 72 | 64 20 25 64 3a 20 22 2c |ntf("Wor|d %d: ",|
|00000240| 20 63 6f 75 6e 74 2b 31 | 29 3b 0d 0a 20 20 20 20 | count+1|);.. |
|00000250| 20 20 20 20 67 65 74 73 | 28 62 75 66 29 3b 0d 0a | gets|(buf);..|
|00000260| 20 20 20 20 20 20 20 20 | 64 61 74 61 5b 63 6f 75 | |data[cou|
|00000270| 6e 74 5d 20 3d 20 6d 61 | 6c 6c 6f 63 28 73 74 72 |nt] = ma|lloc(str|
|00000280| 6c 65 6e 28 62 75 66 29 | 2b 31 29 3b 0d 0a 20 20 |len(buf)|+1);.. |
|00000290| 20 20 20 20 20 20 73 74 | 72 63 70 79 28 64 61 74 | st|rcpy(dat|
|000002a0| 61 5b 63 6f 75 6e 74 5d | 2c 20 62 75 66 29 3b 0d |a[count]|, buf);.|
|000002b0| 0a 20 20 20 20 7d 0d 0a | 0d 0a 20 20 20 20 2f 2a |. }..|.. /*|
|000002c0| 20 53 6f 72 74 20 74 68 | 65 20 77 6f 72 64 73 20 | Sort th|e words |
|000002d0| 28 61 63 74 75 61 6c 6c | 79 2c 20 73 6f 72 74 20 |(actuall|y, sort |
|000002e0| 74 68 65 20 70 6f 69 6e | 74 65 72 73 29 2e 20 2a |the poin|ters). *|
|000002f0| 2f 0d 0a 0d 0a 20 20 20 | 20 71 73 6f 72 74 28 64 |/.... | qsort(d|
|00000300| 61 74 61 2c 20 4d 41 58 | 2c 20 73 69 7a 65 6f 66 |ata, MAX|, sizeof|
|00000310| 28 64 61 74 61 5b 30 5d | 29 2c 20 63 6f 6d 70 29 |(data[0]|), comp)|
|00000320| 3b 0d 0a 0d 0a 20 20 20 | 20 2f 2a 20 44 69 73 70 |;.... | /* Disp|
|00000330| 6c 61 79 20 74 68 65 20 | 73 6f 72 74 65 64 20 77 |lay the |sorted w|
|00000340| 6f 72 64 73 2e 20 2a 2f | 0d 0a 0d 0a 20 20 20 20 |ords. */|.... |
|00000350| 66 6f 72 20 28 63 6f 75 | 6e 74 20 3d 20 30 3b 20 |for (cou|nt = 0; |
|00000360| 63 6f 75 6e 74 20 3c 20 | 4d 41 58 3b 20 63 6f 75 |count < |MAX; cou|
|00000370| 6e 74 2b 2b 29 0d 0a 20 | 20 20 20 20 20 20 20 70 |nt++).. | p|
|00000380| 72 69 6e 74 66 28 22 5c | 6e 25 64 3a 20 25 73 22 |rintf("\|n%d: %s"|
|00000390| 2c 20 63 6f 75 6e 74 2b | 31 2c 20 64 61 74 61 5b |, count+|1, data[|
|000003a0| 63 6f 75 6e 74 5d 29 3b | 0d 0a 0d 0a 20 20 20 20 |count]);|.... |
|000003b0| 2f 2a 20 47 65 74 20 61 | 20 73 65 61 72 63 68 20 |/* Get a| search |
|000003c0| 6b 65 79 2e 20 2a 2f 0d | 0a 0d 0a 20 20 20 20 70 |key. */.|... p|
|000003d0| 72 69 6e 74 66 28 22 5c | 6e 5c 6e 45 6e 74 65 72 |rintf("\|n\nEnter|
|000003e0| 20 61 20 73 65 61 72 63 | 68 20 6b 65 79 3a 20 22 | a searc|h key: "|
|000003f0| 29 3b 0d 0a 20 20 20 20 | 67 65 74 73 28 62 75 66 |);.. |gets(buf|
|00000400| 29 3b 0d 0a 0d 0a 20 20 | 20 20 2f 2a 20 50 65 72 |);.... | /* Per|
|00000410| 66 6f 72 6d 20 74 68 65 | 20 73 65 61 72 63 68 2e |form the| search.|
|00000420| 20 46 69 72 73 74 2c 20 | 6d 61 6b 65 20 6b 65 79 | First, |make key|
|00000430| 31 20 61 20 70 6f 69 6e | 74 65 72 20 2a 2f 0d 0a |1 a poin|ter */..|
|00000440| 20 20 20 20 2f 2a 20 74 | 6f 20 74 68 65 20 70 6f | /* t|o the po|
|00000450| 69 6e 74 65 72 20 74 6f | 20 74 68 65 20 73 65 61 |inter to| the sea|
|00000460| 72 63 68 20 6b 65 79 2e | 2a 2f 0d 0a 0d 0a 20 20 |rch key.|*/.... |
|00000470| 20 20 6b 65 79 20 3d 20 | 62 75 66 3b 0d 0a 20 20 | key = |buf;.. |
|00000480| 20 20 6b 65 79 31 20 3d | 20 26 6b 65 79 3b 0d 0a | key1 =| &key;..|
|00000490| 20 20 20 20 70 74 72 20 | 3d 20 62 73 65 61 72 63 | ptr |= bsearc|
|000004a0| 68 28 6b 65 79 31 2c 20 | 64 61 74 61 2c 20 4d 41 |h(key1, |data, MA|
|000004b0| 58 2c 20 73 69 7a 65 6f | 66 28 64 61 74 61 5b 30 |X, sizeo|f(data[0|
|000004c0| 5d 29 2c 20 63 6f 6d 70 | 29 3b 0d 0a 0d 0a 20 20 |]), comp|);.... |
|000004d0| 20 20 69 66 20 28 70 74 | 72 20 21 3d 20 4e 55 4c | if (pt|r != NUL|
|000004e0| 4c 29 0d 0a 20 20 20 20 | 20 20 20 20 70 72 69 6e |L).. | prin|
|000004f0| 74 66 28 22 25 73 20 66 | 6f 75 6e 64 2e 5c 6e 22 |tf("%s f|ound.\n"|
|00000500| 2c 20 62 75 66 29 3b 0d | 0a 20 20 20 20 65 6c 73 |, buf);.|. els|
|00000510| 65 0d 0a 20 20 20 20 20 | 20 20 20 70 72 69 6e 74 |e.. | print|
|00000520| 66 28 22 25 73 20 6e 6f | 74 20 66 6f 75 6e 64 2e |f("%s no|t found.|
|00000530| 5c 6e 22 2c 20 62 75 66 | 29 3b 0d 0a 20 20 20 20 |\n", buf|);.. |
|00000540| 72 65 74 75 72 6e 20 30 | 3b 0d 0a 7d 0d 0a 0d 0a |return 0|;..}....|
|00000550| 69 6e 74 20 63 6f 6d 70 | 28 63 6f 6e 73 74 20 76 |int comp|(const v|
|00000560| 6f 69 64 20 2a 73 31 2c | 20 63 6f 6e 73 74 20 76 |oid *s1,| const v|
|00000570| 6f 69 64 20 2a 73 32 29 | 0d 0a 7b 0d 0a 20 20 20 |oid *s2)|..{.. |
|00000580| 20 72 65 74 75 72 6e 20 | 28 73 74 72 63 6d 70 28 | return |(strcmp(|
|00000590| 2a 28 63 68 61 72 20 2a | 2a 29 73 31 2c 20 2a 28 |*(char *|*)s1, *(|
|000005a0| 63 68 61 72 20 2a 2a 29 | 73 32 29 29 3b 0d 0a 7d |char **)|s2));..}|
|000005b0| 0d 0a 0d 0a 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000600| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00000610| 54 68 69 73 20 72 65 73 | 6f 75 72 63 65 20 66 6f |This res|ource fo|
|00000620| 72 6b 20 69 6e 74 65 6e | 74 69 6f 6e 61 6c 6c 79 |rk inten|tionally|
|00000630| 20 6c 65 66 74 20 62 6c | 61 6e 6b 20 20 20 00 00 | left bl|ank ..|
|00000640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000680| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000690| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000700| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00000710| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........|
|00000720| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000730| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+