First of all, you might want to actually zero terminate your list of
numbers:)
int nums[]={ 2, 76, 1282, 28182, 1232, 0 };
char big_string[255];
big_string[0]=0;
while( *nums ){
snprintf( big_string, 254, "%s %d", big_string, *nums );
nums++;
}
is porbably a bit safer
statements like *nums++!=0 are just plain evil and unneccesary, IMHO
On Wed, Apr 11, 2001 at 04:53:19PM +0100, John P. Looney wrote:
> Given an array of integers, terminated with zero, what's the easiest way
> to make a string from it ?
>> I thought this would do it, but it's not that neat..and it dumps core;
>> int nums[]={2,76,1282,28182,1232};
> char big_string[255];
> char *tmp_ptr;
>> big_string[0]=0;
> tmp_ptr=big_string;
>> while(*nums++!=0) {
> /* start printing into the end of the previous output */
> tmp_ptr=+(sprintf(tmp_ptr, "%s.%d",tmp_ptr,name) - 1);
> }
>> syslog(LOG_INFO, "big string is %s", big_string);
>> Anyone care to do it better ?
>> Kate
>> --
> When I say 'free', I mean 'free': free from bond, of chain or command:
> to go where you will, even to Mordor, Saruman, if you desire. "
> -- Gandalf, paraphrasing the choice between Free and Non-free software
>> --
> Irish Linux Users' Group: ilug at linux.ie>http://www.linux.ie/mailman/listinfo/ilug for (un)subscription information.
> List maintainer: listmaster at linux.ie
--
Martin
--
Bother! said Pooh, as he read the Generations script.
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!