[En-Nut-Discussion] Who can answer me on sprintf problem ?

Brett Abbott Brett.Abbott at digital-telemetry.com
Sun Jul 9 08:58:50 CEST 2006


 From first glance, as long as you always have the %s at the start of 
the format string, it looks like a nice way to append data to a string.  
Having said that, it clearly doesnt work for you anymore.....

I use ICC so cant comment on gcc but it may be possible that the 
implementation of the compiler doesnt allow for the "unusual" construct.

I have been using the following mechanism to append to a string.  See if 
this works, it should do the same type of thing.

sprintf(buffer+strlen(buffer), "helloworld %d %d ", data1,data2);   You 
may find it more efficient.

ivesworking wrote:
> I was apply this a lot of sprintf technic on theboard, till on old 3.4 
> OS,
> i know this should be more like gcc question,
> i processing some word on cgi,
> to avoid declare too many buffer using malloc, i thinking of declare 
> one large block of mem as buffer
> then using sprintf to add content into it, (due to the content i want 
> will be in format, so sprintf is a good tools )
> however sprintf will wipe out the original content, as strcpy do,
> so i program with
> sprintf(buffer,"%shelloworld %d %d ", buffer, data1,data2);
> i able to perform this task without complain from the compiler and it 
> was running on the board fine,
> to avoid future problem, i need someone confirm with me this method is 
> usable in standard gcc which compiler know how to handle this kind of 
> technic, or this is technically not allow due to it point back to the 
> same place,
> Wfloh _______________________________________________
> En-Nut-Discussion mailing list
> En-Nut-Discussion at egnite.de
> http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion

Brett Abbott, Managing Director, Digital Telemetry Limited
Email: Brett.Abbott at digital-telemetry.com
PO Box 24 036 Manners Street, Wellington, New Zealand
Phone +64 (4) 5666-860  Mobile +64 (21) 656-144
------------------- Commercial in confidence --------------------

More information about the En-Nut-Discussion mailing list