#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; } |
|
来自: 海漩涡 > 《knowledge》