By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,538 Members | 869 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,538 IT Pros & Developers. It's quick & easy.

question posted on another forum (ptrdiff_t)

P: n/a
could someone point me in the right direction regarding this question??


Nov 30 '05 #1
Share this Question
Share on Google+
2 Replies

P: n/a
On 30 Nov 2005 11:22:45 -0800, in comp.lang.c , ak*******
could someone point me in the right direction regarding this question??

If you have a question for comp.lang.c. please post it here - its not
likely that many people will find time to follow a link to google.
Mark McIntyre
CLC readme: <>

----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==---- The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
Nov 30 '05 #2

P: n/a
On 2005-11-30 14:22:45 -0500, ak******* said:
could someone point me in the right direction regarding this question??

it seems kind of rude, to me, to post the question elsewhere, and expect
someone reading the message here to follow a link to find the real question.

ak******* said: hi,
i'd a question abt taking the difference between two pointers.
for eg:
if you have 2 char pointers pointing to members of an array, you advance one
till you encounter a space then take the difference between the two, will give the correct length of the string irrespective of whether char is represented
by 2 bytes (like in unicode)??
Second, by definition, char is always 1 byte; there are no exceptions. (A byte
may be larger than 8-bits, but sizeof(char) is always equal to 1).

Third, if you're using Unicode, then the functions in ctype.h (like
isspace) are
i believe it would give the correct length, because the compiler is
responsible for scaling the difference when one advances a pointer to point to the next element like ptr++, or is it that pointer difference is not pointer
arithmetic and we need to scale it??
I'm not sure what you mean by scaling, but, assuming that all pointers are
valid, and you don't run off the end of an array, etc.:
If you increment the pointer x times, then (end - start) == x.
eg problem:
Orig string - char *s;
Ptrs, char *start = s, *end = s;
int length;
while(*end != isspace(*end))
ITYM: while(!isspace((unsigned char)*end))
* end++;
length = end - start;

is this mentioned somewhere in the c std?? if so could someone pt me in the
right direction.

Clark S. Cox, III

Nov 30 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.