txt文本分割器
2019獨角獸企業重金招聘Python工程師標準>>>
#include<stdio.h> #include<string.h> #include<stdlib.h>int file_bytes(FILE *fp);//計算文本中字節個數
int main(int argc, char** argv) { char infile_name[50], outfile_name[50]; char *p_file_style = ".txt"; char count; int infile_byte_count = 0, n = 0, outfile_byte_count =0; int i = 0, filename_length = 0; FILE *in_fp = NULL, *out_fp = NULL; loop: ?? puts("請輸入你要分割的txt文件名:\n"); puts("請把txt文件放到與此軟件當前目錄下,記住文件要加后綴,不然可能出錯!\n");
scanf("%s", infile_name); filename_length = strlen(infile_name); in_fp = fopen(infile_name,"r");
if(in_fp == NULL) { puts("文件打開失敗!請重試\n"); goto loop; } puts("正在計算文件字節個數...\n"); infile_byte_count = file_bytes(in_fp); fclose(in_fp); puts("計算完成...\n");
puts("請輸入你要分割成幾個txt文件?\n");
scanf("%d", &n); in_fp = fopen(infile_name, "r"); if(in_fp == NULL) { puts("文件打開失敗!終止程序...\n"); exit(0); } puts("分割文件中...\n"); //分割文件開始 char* p_count =NULL; for(; i < n; ++i) { //修改輸出文件名+統計文件 strcpy(outfile_name, infile_name); count = (char)(i+'0'); p_count = &count; strcat(outfile_name, p_count); strcat(outfile_name, p_file_style);
out_fp = fopen(outfile_name,"w");
if(out_fp == NULL) { puts("error!\n"); exit(0); } char c; while(outfile_byte_count <= infile_byte_count/n ) { c=fgetc(in_fp); outfile_byte_count++; fwrite(&c, sizeof(c), 1, out_fp);
}
outfile_byte_count = 0;
fclose(out_fp); }
fclose(in_fp);
puts("文件分割完成!\n"); return 0; }
int file_bytes(FILE* fp) { char c; int n = 0; while((c=fgetc(fp))!=EOF) { n++; }
return n; }
轉載于:https://my.oschina.net/u/558276/blog/63018
總結
- 上一篇: java学习(38):数组排序(直接排序
- 下一篇: nginx php7提速,nginx+p