Hello! I am trying to use sprintf, but get no result (C51, version 5.20).
char xdata command [80], i=100; strcpy (command, "Hello!"); // now command contains "Hello!" sprintf (command, "Test %d", i); // command has not changed
Can you write a very small example of sprintf failing? I use sprintf a lot. I mean a whole lot and never have problems. Jon
Jon, What I initialy did is I took a function I wrote using C166 that uses a bunch of sprintf commands, and copied it into my C51 source code. Now, my sprintf commands that work fine with C166 don't work with C51. Is there a major difference? After executing the lines:
char xdata command [80]; strcpy (command, "Hello"); sprintf (command, "Just a text");
OK, I got it to work just fine. Here's what I did. 1. Create a new project. 2. Select the Intel 8052 from the device database. 3. Add the following file to the project:
#include <stdio.h> #include <string.h> char xdata command [80]; void main (void) { strcpy (command, "Hello"); sprintf (command, "Just a text"); while (1) { } }
Just a note Jon, while (1); may cause compilers to emit a diagnostic. Using for(;;); will not. I've been caught replacing while's with for's in projects where no warnings were permitted at the highest warning level. A boring point, I admit. Regards. - Mark
Yeah, Back in the old days,
while (1);
for(;;);