need C help, passing char buffer[] by-value....
Polytropon
freebsd at edvax.de
Mon Oct 19 02:02:33 UTC 2009
On Sun, 18 Oct 2009 18:33:43 -0700, Gary Kline <kline at thought.org> wrote:
> Guys,
>
> maybe this can't be done reading in a file with fgets(buffer[128], fp),
> then calling skiptags(), conditionally, to while () past ',' and '>'.
>
> I know I need to calll skipTags with its address, skipTags(&buffer);,
> but then how to i
> handle the variable "s" in skipTags? Anybody?
It's quite complicated. Soes it need to be? :-)
> // redo, skip TAGS
Is this C or C++ source code? I always thought // was C++
specific...
> skipTags((char *)&s)
Where's my return datatype? And when (int) is the default,
where is my return statement? :-)
> {
> if (*s == '<')
> {
> while (*s != '>')
> {
> s++;
> }
> s++;
> }
> }
If you need type conversion, you can't do this in the
function's declaration. You need to perform this with
the call. The function would rather start as
void skipTags(char *s)
and then be called with the correct pointer
char *bla;
...
skipTags(bla);
Instead of pointer arithmethics, which is one of the
ultimate skills in C, you could use an iterator from 0
to strlen(s).
I think the code above is just part of a bigger mechanism.
Looks like you want to "shift" the character pointer to
override any <...> segments, and then let some other
parts do something more, right?
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list