分享

Linux文件操作

 海漩涡 2016-03-24
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>

#define MAX_SIZE 1024*200

int main(int argc, char *argv[])
{
int file_len;
int len, n;
char *ptr = NULL;
char buf[MAX_SIZE] = {0};
int fd;
char file_name[] = {"/record/hd01/qh00013.dat"};
fd = open(file_name, O_RDWR | O_CREAT | O_TRUNC);
if(-1 == fd)
{
printf("TTT-----open fail \n");
return -1;
}


len = sizeof(buf);
printf("TTT----len[%d]-----\n", len);
ptr = buf;
n   = len;
while(0 < n)
{
memcpy(ptr, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 32);
ptr += 32;
n   -= 32;
}

file_len = 0;
lseek(fd, 0, SEEK_SET);
while(1)
{
n = write(fd, buf, len);
if(n < 0)
{
printf("TTT----write error \n");
}
else
{
printf("TTT----write len[%d]----n[%d]  \n", len, n);
}
file_len += n;
if(500*1024*1024 < file_len)
{
file_len = 0;
lseek(fd, 0, SEEK_SET);
}
usleep(1000*10);
}
return 0;
}




==========================================================================





#include <stdio.h>
#include <string.h>

#define MAX_SIZE 1024*4*5

int main()
{
int len, n, file_len;
char buf[MAX_SIZE] = {0};
char *ptr = NULL;
FILE* fp = NULL;
char file_name[] = {"/record/hd01/qh00013.dat"};

fp = fopen(file_name, "r+");
if(NULL == fp)
{
printf("fopen fail\n");
return -1;
}

len = sizeof(buf);
printf("TTT----len[%d]-----\n", len);
ptr = buf;
n   = len;
while(0 < n)
{
memcpy(ptr, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 32);
ptr += 32;
n   -= 32;
}

file_len = 0;
while(1)
{
//if(0 != feof(fp))
if(file_len > 500*1024*1024)
{
fseek(fp, 0, SEEK_SET);
}
n = fwrite(buf, 1, len, fp);
usleep(1000);
printf("TTT------n[%d]-------\n", n);
}
return 0;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多