|
发表于 2017-10-1 00:50:42
|
显示全部楼层
本楼为最佳答案
- #include <iostream>
- using namespace std;
- void my_printf(char* format,int a,char c,char* d)
- {
- while(*format)
- {
- char temp= *format;//取出格式用来解析
- if (temp=='%')//如果是%就看他下一个字符
- {
- switch(*++format)
- {
- case 'd'://如果整数转换成字符串循环打印
- {
- char *aa=(char *)malloc(20);
- itoa(a,aa,10);
- while(*aa)
- {
- putchar(*aa);
- aa++;
- }
- break;
- }
- case 'c'://直接打印
- {
- putchar(c);
- break;
- }
- case 's'://循环打印
- {
- while(*d)
- {
- putchar(*d);
- d++;
- }
- break;
- }
- default:break;
- }
- }
- else//如果不是%就直接打印出来,比如逗号分隔符
- {
- putchar(*format);
- }
- format ++;//格式字符串指针推进
- }
- }
- int main(void)
- {
- int a=3600;
- char c='x';
- char d[]="I love FishC!";
- my_printf("%d,%c,%s",a,c,d);
- system("pause");
- return 0;
- }
复制代码 |
|