我正在爲類進行分配,我們基本上必須提示用戶輸入兩個文本文件。程序應該讀取文件,顯示它們,並顯示單獨的文件統計信息。文本文件統計信息和顯示它們的問題
我一直在研究代碼,似乎碰到了一堵磚牆。我似乎只能顯示第二個文本文件的統計信息;此外,所述文件中的文本似乎沒有被顯示。
確實很困惑,所以任何幫助將非常感激。儘管我付出了努力,但我仍然在爲這個階級而努力。 :(
反正代碼(一團糟我相信):
#include <stdio.h>
int main() {
FILE *fp;
char ch;
int lineCount, wordCount, charCount;
char filename[50], filename2[50];
lineCount = 0;
wordCount = 0;
charCount = 0;
printf("Enter a filename: ");
gets(filename);
fp=fopen(filename, "r");
if(fp==NULL) {
printf("Error!\n");
return 1;
}
while((ch=fgetc(fp)) != EOF) {
putchar(ch);
}
fclose(fp);
printf("\n");
printf("Enter a second filename: ");
gets(filename2);
fp=fopen(filename2, "r");
if(fp==NULL) {
printf("Error!\n");
return 1;
}
while((ch=fgetc(fp)) != EOF) {
if (fp)
{
while ((ch=getc(fp)) != EOF) {
if (ch != ' ' && ch != '\n') { ++charCount; }
if (ch == ' ' || ch == '\n') { ++wordCount; }
if (ch == '\n') { ++lineCount; }
}
if (charCount > 0) {
++lineCount;
++wordCount;
}
}
printf("Lines counted: %d \n", lineCount);
printf("Words counted: %d \n", wordCount);
printf("Characters counted: %d \n", charCount);
getchar();
putchar(ch);
}
fclose(fp);
printf("\n");
return 0;
}
'fgetc'返回一個「int」,而不是「char」。並請以一致的方式格式化您的代碼。並考慮學習如何使用調試器。 –