c语言之LogToFile

来源:互联网 发布:linux禁用ssh 编辑:程序博客网 时间:2024/06/05 22:42
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <assert.h>#include <malloc.h>#include <stdarg.h>void LogToFile(const char *Format, ...){    #define savepath "/mnt/sdcard/file1.txt"    va_list va;    char szOutputString[1024];    char time[256];    va_start(va, Format);    memset(szOutputString, 0, 1024);    vsprintf(szOutputString, Format, va);    sprintf(szOutputString,"%s\n",szOutputString);    FILE *fp=fopen(savepath, "a+");    fprintf(fp,"%s",szOutputString);    fflush(fp);    fclose(fp);    va_end(va);}void logToFile2(char* fmt, ...){    char* log = "/mnt/sdcard/file2.txt";    FILE * logFile;    logFile = fopen(log, "a");    va_list args;    va_start(args, fmt);    vfprintf(logFile, fmt, args);    va_end(args);    fflush(logFile);    fclose(logFile);}static FILE *logfile = NULL;void logToFile3(const char *fmt, ...) {    va_list ap;    if (logfile == NULL) {        logfile = fopen("/mnt/sdcard/file3.txt", "w+");    }    if (logfile) {        va_start(ap, fmt);        vfprintf(logfile, fmt, ap);        va_end(ap);        fflush(logfile);    }    else {        printf("LOG ERROR!\n");    }}int LogToFile4(char *szLogText, ...){    FILE *fp;    if (!(fp = fopen("/mnt/sdcard/file4.txt", "a")))        return 0;    va_list vArgptr;    char szText[1024];    va_start(vArgptr, szLogText);    vsprintf(szText, szLogText, vArgptr);    va_end(vArgptr);    fprintf(fp, "%s\n", szText);    fflush(fp);    fclose(fp);    return 0;}int main(int argc, char **argv){    LogToFile("file1");    LogToFile("test");    LogToFile("test");    LogToFile("testgfsdg");    logToFile2("logToFile2 \n");    logToFile2("logToFile logToFile\n");    logToFile3("logToFile3\n");    logToFile3("logToFile3\n");    LogToFile4("LogToFile4");    LogToFile4("LogToFile4");    printf("Hello, World!\n");  //Set a breakpoint here or press F10 to step into.    return 0;}
0 0
原创粉丝点击