Предположим, у меня есть текстовый файл, который говорит: Этот файл содержит простой текстКак разбить текстовый файл на части в C?
Теперь я хочу разделить этот текстовый файл в «N» число частей с одинаковыми символами. Предположим, что пользователю нужны три деления, тогда должны быть созданы файлы 1.txt, 2.txt и 3.txt с примерно 8 символами.
(Следующая часть этой программы состоит в том, чтобы вернуться в исходное состояние этих файлов, но я уверен, что смогу сделать это сам, если я смогу получить помощь в этой первой части).
Можете ли вы, ребята, вести меня в этом вопросе?
Язык используется C.
void main(int argc, char** argv)
{
int iChunkNo=0;
char cFileName[30];
iChunkNo = atoi(argv[2]);
strcpy(cFileName, argv[1]);
printf("The file will be divided into %d chunks \n", iChunkNo);
FILE* file_read_pointer;
file_read_pointer = fopen(cFileName, "r");
int iCount=0;
char ch;
while (1)
{
ch = fgetc(file_read_pointer);
if (ch == EOF)
break;
++iCount;
}
printf("The number of characters in the file is: %d \n", iCount);
int iCharPerFile = 0;
iCharPerFile = iCount/iChunkNo;
printf("The number of characters per chunk file will be: %d \n", iCharPerFile);
FILE* file_write_pointer;
int j=1;
for(j; j<=iChunkNo; j++)
{
char num[5] = {j};
char ext[4] = {"txt"};
char name[15];
sprintf(name, "%d.%s", j, ext);
FILE* file_write_pointer;
file_write_pointer = fopen(name, "w");
}
int i=0;
for(i; i<iCharPerFile; i++)
{
char temp;
temp = fgetc(file_read_pointer);
//fputc(temp, file_write_pointer);
fprintf(file_write_pointer, "%c", temp);
}
}
Этот вопрос имеет четкое представление о домашнем задании. – dasblinkenlight
Вы считаете пробелы и символы новой строки символами? Если это так, вы всегда можете просто пересчитать все символы, чтобы получить полное разделение на 'n', а затем выводить после прочтения общих/'n' символов. –
@JamesMcLaughlin Я не полный кодовый копир :) Мне нравится программирование, но оно меня разозлило, когда я застрял. Я пытаюсь опубликовать свой код. См. Комментарии ниже. Не позволю мне опубликовать его здесь. – Asim