1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#include <stdio.h>
#include <string.h>
#define _minhaFuncao( a, b) MinhaFuncao(__FILE__, __LINE__, a, b);
void MinhaFuncao(char* sArqCPP, unsigned long ulLinhaCPP, char* msg, char *filename = NULL)
{
FILE* pFile;
if(filename == NULL)
pFile = fopen("teste.txt", "w+t");
else
pFile = fopen(filename, "w+t");
if(pFile == NULL )
{
printf( "Não foi possivel abrir o arquivo\n" );
return;
}
char cAux[256];
sprintf( cAux, "[%s - %lu] ", strrchr( sArqCPP, '\\')+1, ulLinhaCPP);
fwrite(cAux, sizeof(char), strlen(cAux),pFile);
fwrite(msg, sizeof(char), strlen(msg), pFile);
fclose(pFile);
}
int main(int argc, char* argv[])
{
//Assim funciona
_minhaFuncao("Ola Enfermeira!!!", "log.txt");
//Assim não funciona
//Não queria ser obrigado a passar NULL para o segundo parametro
//mas não sei como fazer isso por DEFINE
_minhaFuncao("Ola Enfermeira!!!", NULL);
return 0;
}
|