假設我有一個文本文件,上面寫着: 這個文件有明文如何將文本文件拆分爲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 2012-02-18 18:24:58
你是否將空格和換行符計算爲字符?如果是這樣的話,你總是可以首先對所有字符進行計數,得到總分「n」,然後在讀取總共「/」字符後輸出。 – 2012-02-18 18:25:52
@JamesMcLaughlin 我不是一個完整的代碼複印機:)我喜歡編程,但當我陷入困境時,它讓我氣憤。我試圖發佈我的代碼。見下面的評論。不會允許我在這裏發佈。 – Asim 2012-02-19 10:13:43