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