文件的写入操作

来源:互联网 发布:cn域名ns记录是什么 编辑:程序博客网 时间:2024/05/18 21:09

文件的头文件:

#ifndef __ABOUTLOG_H
#define  __ABOUTLOG_H

#ifdef __cplusplus
extern"C"
{
#endif
int InitDump(int buffersize);
int memcpy_t(char * str);
int dump_t(char * fileName);
int clean_t(int buffersize);
int dele(int buffersie);
#ifdef __cplusplus
}
#endif
#endif

文件的源文件:

#include <io.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <direct.h>
#include <stdlib.h>
#include "AboutLog.h"

#if OS_ALVA == OS_Windows


static char* dumpRoot = ".\\DumpTest\\";
#elif OS_ALVA == OS_Android
static char* dumpRoot = "/sdcard/Alva/";
#endif
char  *  dumpbuffer = NULL;

int InitDump(int buffersie)
{
//create dump folder

#if OS_ALVA==OS_Windows
if(_access(dumpRoot, 00) != 0){
_mkdir(dumpRoot);
}

#else
if(access(dumpRoot, 00) != 0){
mkdir(dumpRoot, S_IRUSR | S_IWUSR);
}
#endif
    dumpbuffer = (char*)malloc(sizeof(buffersie));
memset(dumpbuffer, NULL, sizeof(dumpbuffer));
return 0;
}

int memcpy_t(char *  str)
{
int fileLen = 0 ;
int strLen  = 0 ;
strLen = strlen(str);
fileLen = strlen(dumpbuffer);
memcpy(dumpbuffer + fileLen, str, strLen);
dumpbuffer[fileLen + strLen ] = '\n';
dumpbuffer[fileLen + strLen +1] = '\0';

return 0;
}

int dump_t(char * fileName)
{
char FN[100];
FILE  * fp;
sprintf(FN, "%s%s", dumpRoot, fileName);
fp = fopen(FN, "w");
if (fp == NULL)
{
printf("fopen error \n");
}

fprintf(fp, "%s\n", dumpbuffer);
fclose(fp);
return 0;
}

int clean_t(int buffersie)
{
memset(dumpbuffer, NULL, sizeof(10000));
return 0;
}

int dele(int buffersie)
{
free(dumpbuffer);
return 0;
}

原创粉丝点击