Code: Select all
char someBuffer[100];
sprinti(someBuffer, "{digital_outputs %c %c %c %c}",'1','1','1','0');
But result is {digital_outputs 1 1 0x0F Z}
May I know where I'm doing mistake? Or is it compiler bug?
Thank you.
#1 Post by programmer5 » 30 Mar 2017 06:22
Code: Select all
char someBuffer[100];
sprinti(someBuffer, "{digital_outputs %c %c %c %c}",'1','1','1','0');
#2 Post by danilo.milovic » 30 Mar 2017 15:19
#3 Post by paulfjujo » 30 Mar 2017 18:15
programmer5 wrote:I expect someBuffer to be {digital_outputs 1 1 1 0}Code: Select all
char someBuffer[100]; sprinti(someBuffer, "{digital_outputs %c %c %c %c}",'1','1','1','0');
But result is {digital_outputs 1 1 0x0F Z}
May I know where I'm doing mistake? Or is it compiler bug?
Thank you.
Code: Select all
sprinti(someBuffer, "{digital_outputs %c %c %c %c}",0x0031,0x0031,0x0031,0x0030);
Code: Select all
sprinti(someBuffer, "{digital_outputs %c %c %c %c}",(int)'1',(int)'1',(int)'1',(int)'0');
#4 Post by programmer5 » 03 Apr 2017 14:16
this is complete project,danilo.milovic wrote: please send whole project folder in .zip archive so I can reproduce the issue.
Code: Select all
void main() {
char someBuffer[100];
uart1_init(230400);
delay_ms(10);
sprinti(someBuffer, "{digital_outputs %c %c %c %c}",'1','1','1','0');
uart1_write_text(someBuffer);
}
#5 Post by programmer5 » 03 Apr 2017 14:22
As per library documentation, sprinti not necessarily prints only integers, it can print anything except long or float types.paulfjujo wrote: tryor maybeCode: Select all
sprinti(someBuffer, "{digital_outputs %c %c %c %c}",0x0031,0x0031,0x0031,0x0030);
Code: Select all
sprinti(someBuffer, "{digital_outputs %c %c %c %c}",(int)'1',(int)'1',(int)'1',(int)'0');
#6 Post by danilo.milovic » 04 Apr 2017 14:17
Code: Select all
sprinti(someBuffer, "{digital_outputs %c %c %c %c}",(int)'1',(int)'1',(int)'1',(int)'0');
Return to “mikroC PRO for PIC General”