Unspecified Number of Arguments

#include "stdafx.h" 
#include
#include   
#include   
#include
#include   
#include   
#include
using   namespace   std;   

typedef enum {TRUE = 1,FALSE = 0}BOOL;   

BOOL LogInfo(const char *Path,const char *format,   ...   )   
{   
  char szBuffer[1024];   
  FILE *fp;   
  va_list v;    // v is our argument pointer   
    
  fp = fopen(Path,"a");   
  if(fp == NULL)   
     return FALSE;   
   
  va_start(v,format);  //Init v to start with the argument after "format"

  vsprintf(szBuffer,format,v);   
  fprintf(fp,"%s",szBuffer);   
  fclose( fp);   
  va_end( v); 
  return   TRUE;   
}   

void Hello(char* A,...)
{
va_list ap;
va_start(ap,A);
while(1)
{
char *p = va_arg(ap,char*);
if(p == 0) break;
cout<
}
va_end(ap);
}

string MYsprintf (const char *str, ...)  
{  
    char *temp = NULL;
    int Temp = 0;
    va_list args;  
    va_start(args, str);  
    ostringstream output;  
    for (unsigned int i = 0; i < strlen(str); i++)  
    {  
        if (str[i] == '%' && str[i+1] != '%' && i+1 < strlen(str)) // we need to format it  
        {  
            switch (str[i+1]) // switch the next character  
            {  
                case 's':  
                    temp = va_arg (args, char*);  
                    output << temp;  
                    break;  
                case 'd':  
                    Temp = va_arg (args, int);  
                    output << Temp;  
                    break;  
                default:  
                    output << str[i];  
            }  
            i++; // increment to avoid outputting the next character  
        }  
        else cout << str[i];  
    }  
    va_end(args);  
    return output.str(); 
}  

void   main(void)   
{   
      LogInfo(   "C://MY.LOG","%s %d/n","FunctionTest",123,35);   
      Hello("a","bac","%d %d",0);
      string mystring = MYsprintf( "YY: %s%d %d %d  ","abc",324, 3,3,3);
      cout<
}                

                    

你可能感兴趣的:(C++,iostream,character,fp,list,string,path)