This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

PROBLEMS WITH SPRINTF

Hi

i am having a problem with the sprintf function. i don't know what i am doing wrong.

i created a function where i use sprintf to separate the digits of a decimal number, and the first time that i called the function it works fine. The second time the sprintf starts when the first time left, and so on.

The variable looks something like this the first time: "0123"

and the second time: "0123123"

I don't know if i have to reset a pointer (or how to do it) so everytime i call the function it starts at the beginning of the array.



the code looks something like that:

void send_code (void)
{
int n;
	if (oper_code < 1000){
	n = sprintf (code_char, "%d", 0);
        }
	n += sprintf (code_char+n, "%d", oper_code);
  .
  .
  .
}



void main (void)
{
  .
  .
  .
while (1)
  {
  send_code();
  }
}
.

thanks in advance

0