need C help, passing char buffer[] by-value....
Gary Kline
kline at thought.org
Mon Oct 19 05:25:10 UTC 2009
On Mon, Oct 19, 2009 at 04:02:29AM +0200, Polytropon wrote:
> 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?
i hadn't thought of this approach, but counting the number of bytes
in a <TAG> might wwork!!
gary
>
>
> --
> Polytropon
> Magdeburg, Germany
> Happy FreeBSD user since 4.0
> Andra moi ennepe, Mousa, ...
--
Gary Kline kline at thought.org http://www.thought.org Public Service Unix
http://jottings.thought.org http://transfinite.thought.org
The 7.31a release of Jottings: http://jottings.thought.org/index.php
More information about the freebsd-questions
mailing list