[KLUG Programming] substr in C?
Tony Gettig
programming@kalamazoolinux.org
Mon, 21 Jul 2003 12:15:02 -0400
This message is in MIME format.
---MOQ10588041023aca322835e9070964c0d51aa6ecb2e3
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Is there a C equivalent to substr in perl or PHP? Something that might work
like this:
oldstring="Tony missed the clue bus.";
/* start at position 0, give me the next 4 chars as my string */
newstring=substr(oldstring, 0, 4);
newstring would then contain the value "Tony".
I tried writing my own, but am not succeeding. Attached is a simple program
written for the purpose of writing my own substr function.
>From googling a bit, it appears C++ has such a function, but I'm trying to
stick to C with this one. Am I missing the obvious?
--
Tony Gettig
Voiceovers, PGP key, and more at
http://gettig.net
---MOQ10588041023aca322835e9070964c0d51aa6ecb2e3
Content-Type: text/plain; name="string.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="string.c"
LyoqKioqKioqKiBJbmNsdWRlcyAmIERlY2xhcmF0aW9ucyAqKioqKioqKiovDQojaW5jbHVkZSA8
c3RkaW8uaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCiNpbmNsdWRlIDxzdHJpbmcuaD4NCg0KI2Rl
ZmluZSBTVFJJTkdTSVpFIDI1Ng0KDQppbnQgaTsNCmNoYXIgKnN0cmluZzE7DQpjaGFyICpuZXdz
dHJpbmdbU1RSSU5HU0laRV07CQkvKiBuZXcgc3RyaW5nIHRvIHJldHVybiBhcyByZXN1bHQgKi8N
CmludCBsZW5ndGhjb3VudGVyOyAJCS8qIGZvciBjb3VudGluZyB0aHJvdWdoIHRoZSBzb3VyY2Ug
c3RyaW5nICovDQoNCi8qDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIEZ1bmN0aW9uOgkJCW15c3Vic3RyDQoq
DQoqIERlc2NyaXB0aW9uOgkJRm9yIHRoZSBzb3VyY2Ugc3RyaW5nLCBzdGFydCBhdCB0aGUgc3Rh
cnQgY2hhciwgDQoqCQkJCQlhbmQgcmV0dXJuIGEgc3RyaW5nIG9mIGxlbmd0aCBsZW5ndGguDQoq
DQoqIFBhcmFtZXRlcnM6CQlzb3VyY2UgaXMgdGhlIHN0cmluZyB0byBzZWFyY2guDQoqCQkJCQlz
dGFydCBpcyB0aGUgc3RhcnRpbmcgcG9zaXRpb24gaW4gdGhlIHN0cmluZy4NCioJCQkJCWxlbmd0
aCBpcyBob3cgbWFueSBjaGFyYWN0ZXJzIHRvIHJldHVybi4NCioNCiogUmV0dXJuczoJCQlOb3Ro
aW5nLg0KKg0KKiBSZXZpc2lvbnM6DQoqDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqLw0KDQovKiBzaG91bGQg
aXQgcmV0dXJuIGFuIGFycmF5IG9mIGNoYXIgaW5zdGVhZD8gKi8NCmNoYXIgbXlzdWJzdHIoY2hh
ciAqc291cmNlW1NUUklOR1NJWkVdLCBpbnQgc3RhcnQsIGludCBsZW5ndGgpDQp7DQoJbGVuZ3Ro
Y291bnRlcj1zdGFydDsNCglwcmludGYoIlNvdXJjZSBiZWZvcmUgZm9yIGlzICVkIGNoYXJzOiAl
c1xuIiwgc3RybGVuKHNvdXJjZSksIHNvdXJjZSk7DQoNCglmb3IgKGk9MDsgaSA8IGxlbmd0aCsx
IDsgaSsrKQ0KCXsNCgkJcHJpbnRmKCJTb3VyY2UgY2hhciAlZCBpcyAlY1xuIiwgbGVuZ3RoY291
bnRlciwgc291cmNlW2xlbmd0aGNvdW50ZXJdKTsNCgkJbmV3c3RyaW5nW2ldPXNvdXJjZVtsZW5n
dGhjb3VudGVyXTsgDQoJCWxlbmd0aGNvdW50ZXIrKzsNCgl9DQoNCgkvKiB0ZXJtaW5hdGUgdGhl
IHN0cmluZyAqLw0KCW5ld3N0cmluZ1tsZW5ndGhjb3VudGVyXT0nXDAnOyANCg0KCS8qIHJldHVy
biB0aGUgbmV3IHN0cmluZyAqLw0KCXByaW50ZigiSW4gbXlzdWJzdHI6ICVzXG4iLG5ld3N0cmlu
Zyk7DQoJcmV0dXJuICpuZXdzdHJpbmc7DQp9DQoNCmludCBtYWluKCB2b2lkICkNCnsNCglzdHJp
bmcxPSIxMDAyMDAgICAgVE9OWSAgICAgIEdFVFRJRyI7DQoJcHJpbnRmKCJCZWZvcmUgbXlzdWJz
dHI6ICVzXG4iLHN0cmluZzEpOw0KCXByaW50ZigiQWZ0ZXIgbXlzdWJzdHIgJXMuXG4iLG15c3Vi
c3RyKHN0cmluZzEsIDEwLCA0KSk7DQp9DQo=
---MOQ10588041023aca322835e9070964c0d51aa6ecb2e3--