Δημοσιεύτηκε: 05 Ιούλ 2011, 17:42
Τι πρόβλημα έχει το παραπάνω; Καλό το βλέπω (αν και δεν το εξέτασα καλά γιατί είμαι στη δουλειά και μπαινοβγαίνει κόσμος)!
Να κι ο δικός μου κώδικας (μετράει κι άλλα πράματα)...
Να κι ο δικός μου κώδικας (μετράει κι άλλα πράματα)...
- Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h> // for exit()
#include <ctype.h> // for isblank(), etc
#define MAXINBUF 255+1
// ---------------------------------------------------------------------------------
int main( void )
{
int c;
unsigned long int charcount=0, lettcount=0, digcount=0, symbcount=0;
unsigned long int blankcount=0, linecount=0;
char filename[MAXINBUF] = "test.txt";
FILE *fp = fopen(filename, "r");
if ( !fp ) {
puts("*** could not open file, aborting program...");
exit( EXIT_FAILURE );
}
while ( (c=fgetc(fp)) != EOF )
{
charcount++;
if ( isblank(c) )
blankcount++;
else if ( isdigit(c) )
digcount++;
else if ( isalnum(c) )
lettcount++;
else if ( c == '\n')
linecount++;
else
symbcount++;
}
fclose(fp);
if ( charcount == 0 )
printf("%s:\tempty file\n", filename);
else {
printf( "%s (%lu lines):\n%lu total char(s)\n",
filename, linecount+1, charcount);
printf("\t\t%8lu letters(s)\n\t\t%8lu digits(s)\n\t\t%8lu linefeed(s)\n\t\t%8lu others\n\t\t%8lu blank(s)\n", lettcount, digcount, linecount, symbcount, blankcount );
}
exit( EXIT_SUCCESS );
}