写文件实例

来源:互联网 发布:c语言怎么判断奇偶数 编辑:程序博客网 时间:2024/05/21 18:49
 *
    功能:     获取当前系统时间
    返回值:    0-成功,-1-失败
    out:        保存返回的系统时间,格式由fmt决定
    fmt:        0-返回:yyyy-mm-dd hh24:mi:ss, 1-返回:yyyy-mm-dd, 2-返回:hh24:mi:ss
*/
int getTime(char *out, int fmt)                 // 获取当前系统时间
{
    if(out == NULL)
        return -1;
  
    time_t t;
    struct tm *tp;
    t = time(NULL);
  
    tp = localtime(&t);
    if(fmt == 0)
        sprintf(out, "%2.2d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d", tp->tm_year+1900, tp->tm_mon+1, tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec);
    else if(fmt == 1)
        sprintf(out, "%2.2d-%2.2d-%2.2d", tp->tm_year+1900, tp->tm_mon+1, tp->tm_mday);
    else if(fmt == 2)
        sprintf(out, "%2.2d:%2.2d:%2.2d", tp->tm_hour, tp->tm_min, tp->tm_sec);
    return 0;
}
  
FILE* openFile(const char *fileName, const char *mode)  // 打开文本文件
{
    FILE *fp = fopen(fileName, mode);
    return fp;
}
  
/*
    功能:     将str写入到文件
    返回值:    写文件成功返回0,否则返回-1
    fp:     文件指针
    str:        待写入的字符串
    bLog:       1-是日志文件,0-不是日志文件
    说明:     如果是日志文件,将会在str前加上当前时间(格式如:2011-04-12 12:10:20)
*/
int writeFile(FILE *fp, const char *str, int bLog)          // 写字符串到文件,bLog表明是否为日志文件
{
    assert(fp != NULL && str != NULL);
    char curTime[100] = {0};
    int ret = -1;
    if(bLog) // 获取当前系统时间
    {
        getTime(curTime, 0);
        ret = fprintf(fp, "[%s] %s\n", curTime, str);
    }
    else
        ret = fprintf(fp, "%s\n", str);
  
    if(ret >= 0)
    {
        fflush(fp);
        return 0;               // 写文件成功
    }
    else
        return -1;
}
  
int closeFile(FILE *fp)
{
    return fclose(fp);
}
原创粉丝点击