我正在为类进行分配,我们基本上必须提示用户输入两个文本文件。程序应该读取文件,显示它们,并显示单独的文件统计信息。文本文件统计信息和显示它们的问题
我一直在研究代码,似乎碰到了一堵砖墙。我似乎只能显示第二个文本文件的统计信息;此外,所述文件中的文本似乎没有被显示。
确实很困惑,所以任何帮助将非常感激。尽管我付出了努力,但我仍然在为这个阶级而努力。 :(
反正代码(一团糟我相信):
#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”。并请以一致的方式格式化您的代码。并考虑学习如何使用调试器。 –