Error[8]: Undefined offset: 1, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述实际上我正在尝试使用varags在C中编写自己的printf().但我没有得到正确的解决方案.谁能帮我吗? 在实现printf()函数之前,我们必须处理异常问题,即可变参数.我们知道printf除了字符串之外还可以使用很多参数.       所以我们必须使用一个名为stdarg.h的标准库来处理这个变量参数问题.在这个实现上下文中,我们不需要学习整个stdarg.h库,因为我们使用这些库的一些宏函 实际上我正在尝试使用varags在C中编写自己的printf().但我没有得到正确的解决方案.谁能帮我吗?解决方法 在实现printf()函数之前,我们必须处理异常问题,即可变参数.我们知道printf除了字符串之外还可以使用很多参数.
所以我们必须使用一个名为stdarg.h的标准库来处理这个变量参数问题.在这个实现上下文中,我们不需要学习整个stdarg.h库,因为我们使用这些库的一些宏函数,这是我们的C程序可以直接理解的.

Here is the code source which explain nice and fast

#include<stdio.h> #include<stdarg.h>                      voID Myprintf(char *,...);              //Our printf functionchar* convert(unsigned int,int);       //Convert integer number into octal,hex,etc.int main() {     Myprintf(" WWW.FIRMCODES.COM \n %d",9);     return 0;} voID Myprintf(char* format,...) {     char *traverse;     unsigned int i;     char *s;     //Module 1: Initializing Myprintf's arguments     va_List arg;     va_start(arg,format);     for(traverse = format; *traverse != '[+++]'; traverse++)     {         while( *traverse != '%' )         {             putchar(*traverse);            traverse++;         }         traverse++;         //Module 2: Fetching and executing arguments        switch(*traverse)         {             case 'c' : i = va_arg(arg,int);     //Fetch char argument                        putchar(i);                        break;             case 'd' : i = va_arg(arg,int);         //Fetch Decimal/Integer argument                        if(i<0)                         {                             i = -i;                            putchar('-');                         }                         puts(convert(i,10));                        break;             case 'o': i = va_arg(arg,unsigned int); //Fetch Octal representation                        puts(convert(i,8));                        break;             case 's': s = va_arg(arg,char *);       //Fetch string                        puts(s);                         break;             case 'x': i = va_arg(arg,unsigned int); //Fetch Hexadecimal representation                        puts(convert(i,16));                        break;         }       }     //Module 3: Closing argument List to necessary clean-up    va_end(arg); } char *convert(unsigned int num,int base) {     static char Representation[]= "0123456789ABCDEF";    static char buffer[50];     char *ptr;     ptr = &buffer[49];     *ptr = '[+++]';     do     {         *--ptr = Representation[num%base];         num /= base;     }while(num != 0);     return(ptr); }
总结

以上是内存溢出为你收集整理的如何在C中编写自己的printf()?全部内容,希望文章能够帮你解决如何在C中编写自己的printf()?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 2, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述实际上我正在尝试使用varags在C中编写自己的printf().但我没有得到正确的解决方案.谁能帮我吗? 在实现printf()函数之前,我们必须处理异常问题,即可变参数.我们知道printf除了字符串之外还可以使用很多参数.       所以我们必须使用一个名为stdarg.h的标准库来处理这个变量参数问题.在这个实现上下文中,我们不需要学习整个stdarg.h库,因为我们使用这些库的一些宏函 实际上我正在尝试使用varags在C中编写自己的printf().但我没有得到正确的解决方案.谁能帮我吗?解决方法 在实现printf()函数之前,我们必须处理异常问题,即可变参数.我们知道printf除了字符串之外还可以使用很多参数.
所以我们必须使用一个名为stdarg.h的标准库来处理这个变量参数问题.在这个实现上下文中,我们不需要学习整个stdarg.h库,因为我们使用这些库的一些宏函数,这是我们的C程序可以直接理解的.

Here is the code source which explain nice and fast

#include<stdio.h> #include<stdarg.h>                      voID Myprintf(char *,...);              //Our printf functionchar* convert(unsigned int,int);       //Convert integer number into octal,hex,etc.int main() {     Myprintf(" WWW.FIRMCODES.COM \n %d",9);     return 0;} voID Myprintf(char* format,...) {     char *traverse;     unsigned int i;     char *s;     //Module 1: Initializing Myprintf's arguments     va_List arg;     va_start(arg,format);     for(traverse = format; *traverse != ''; traverse++)     {         while( *traverse != '%' )         {             putchar(*traverse);            traverse++;         }         traverse++;         //Module 2: Fetching and executing arguments        switch(*traverse)         {             case 'c' : i = va_arg(arg,int);     //Fetch char argument                        putchar(i);                        break;             case 'd' : i = va_arg(arg,int);         //Fetch Decimal/Integer argument                        if(i<0)                         {                             i = -i;                            putchar('-');                         }                         puts(convert(i,10));                        break;             case 'o': i = va_arg(arg,unsigned int); //Fetch Octal representation                        puts(convert(i,8));                        break;             case 's': s = va_arg(arg,char *);       //Fetch string                        puts(s);                         break;             case 'x': i = va_arg(arg,unsigned int); //Fetch Hexadecimal representation                        puts(convert(i,16));                        break;         }       }     //Module 3: Closing argument List to necessary clean-up    va_end(arg); } char *convert(unsigned int num,int base) {     static char Representation[]= "0123456789ABCDEF";    static char buffer[50];     char *ptr;     ptr = &buffer[49];     *ptr = '[+++]';     do     {         *--ptr = Representation[num%base];         num /= base;     }while(num != 0);     return(ptr); }
总结

以上是内存溢出为你收集整理的如何在C中编写自己的printf()?全部内容,希望文章能够帮你解决如何在C中编写自己的printf()?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
如何在C中编写自己的printf()?_C_内存溢出

如何在C中编写自己的printf()?

如何在C中编写自己的printf()?,第1张

概述实际上我正在尝试使用varags在C中编写自己的printf().但我没有得到正确的解决方案.谁能帮我吗? 在实现printf()函数之前,我们必须处理异常问题,即可变参数.我们知道printf除了字符串之外还可以使用很多参数.       所以我们必须使用一个名为stdarg.h的标准库来处理这个变量参数问题.在这个实现上下文中,我们不需要学习整个stdarg.h库,因为我们使用这些库的一些宏函 实际上我正在尝试使用varags在C中编写自己的printf().但我没有得到正确的解决方案.谁能帮我吗?解决方法 在实现printf()函数之前,我们必须处理异常问题,即可变参数.我们知道printf除了字符串之外还可以使用很多参数.
所以我们必须使用一个名为stdarg.h的标准库来处理这个变量参数问题.在这个实现上下文中,我们不需要学习整个stdarg.h库,因为我们使用这些库的一些宏函数,这是我们的C程序可以直接理解的.

Here is the code source which explain nice and fast

#include<stdio.h> #include<stdarg.h>                      voID Myprintf(char *,...);              //Our printf functionchar* convert(unsigned int,int);       //Convert integer number into octal,hex,etc.int main() {     Myprintf(" WWW.FIRMCODES.COM \n %d",9);     return 0;} voID Myprintf(char* format,...) {     char *traverse;     unsigned int i;     char *s;     //Module 1: Initializing Myprintf's arguments     va_List arg;     va_start(arg,format);     for(traverse = format; *traverse != ''; traverse++)     {         while( *traverse != '%' )         {             putchar(*traverse);            traverse++;         }         traverse++;         //Module 2: Fetching and executing arguments        switch(*traverse)         {             case 'c' : i = va_arg(arg,int);     //Fetch char argument                        putchar(i);                        break;             case 'd' : i = va_arg(arg,int);         //Fetch Decimal/Integer argument                        if(i<0)                         {                             i = -i;                            putchar('-');                         }                         puts(convert(i,10));                        break;             case 'o': i = va_arg(arg,unsigned int); //Fetch Octal representation                        puts(convert(i,8));                        break;             case 's': s = va_arg(arg,char *);       //Fetch string                        puts(s);                         break;             case 'x': i = va_arg(arg,unsigned int); //Fetch Hexadecimal representation                        puts(convert(i,16));                        break;         }       }     //Module 3: Closing argument List to necessary clean-up    va_end(arg); } char *convert(unsigned int num,int base) {     static char Representation[]= "0123456789ABCDEF";    static char buffer[50];     char *ptr;     ptr = &buffer[49];     *ptr = '';     do     {         *--ptr = Representation[num%base];         num /= base;     }while(num != 0);     return(ptr); }
总结

以上是内存溢出为你收集整理的如何在C中编写自己的printf()?全部内容,希望文章能够帮你解决如何在C中编写自己的printf()?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1253892.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存