⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bug1057979.c

📁 sdcc是为51等小型嵌入式cpu设计的c语言编译器支持数种不同类型的cpu
💻 C
字号:
/*   bug1057979.c*/#include <testfwk.h>#include <stdlib.h>#include <string.h>#include <stdio.h>char s[12+1];voidtest_sprintf(void){  s[12] = 0x12;  sprintf( s, "%d", 99 );  ASSERT( 0 == strcmp( s, "99" ) );  sprintf( s, "%d", 100 );  ASSERT( 0 == strcmp( s, "100" ) );  sprintf( s, "%d", 2004 );  ASSERT( 0 == strcmp( s, "2004" ) );  sprintf( s, "%ld", 2147483647L );  ASSERT( 0 == strcmp( s, "2147483647" ) );  //and from bug 1073386#ifdef SDCC_pic16  //pic16 printf doesn't support flags, width and precision specifiers  sprintf( s, "%04X", 0x8765u );  ASSERT( 0 == strcmp( s, "04X" ) );  //and from bug 1193299  sprintf( s, "%3.3s", "abcd" );  ASSERT( 0 == strcmp( s, "3.3s" ) );  sprintf( s, "%-3.3s", "abcd" );  ASSERT( 0 == strcmp( s, "-3.3s" ) );  sprintf( s, "%3.3s", "ab" );  ASSERT( 0 == strcmp( s, "3.3s" ) );  sprintf( s, "%-3.3s", "ab" );  ASSERT( 0 == strcmp( s, "-3.3s" ) );#else  sprintf( s, "%04X", 0x8765u );  ASSERT( 0 == strcmp( s, "8765" ) );  //and from bug 1193299  sprintf( s, "%3.3s", "abcd" );  ASSERT( 0 == strcmp( s, "abc" ) );  sprintf( s, "%-3.3s", "abcd" );  ASSERT( 0 == strcmp( s, "abc" ) );  sprintf( s, "%3.3s", "ab" );  ASSERT( 0 == strcmp( s, " ab" ) );  sprintf( s, "%-3.3s", "ab" );  ASSERT( 0 == strcmp( s, "ab " ) );#endif#if defined(SDCC__ds390) || defined(PORT_HOST)  //and from bug 1358192  sprintf( s, "%f", 10.1 );  LOG((s));  ASSERT( 0 == strcmp( s, "10.100000" ) );  //and from bug 1388703  sprintf( s, "%4.1f", 1.36 );  LOG((s));  ASSERT( 0 == strcmp( s, " 1.4" ) );  sprintf( s, "%4.1f", -1.37 );  LOG((s));  ASSERT( 0 == strcmp( s, "-1.4" ) );#endif  ASSERT( s[12]==0x12 );}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -