Counting characters, words, spaces, punctuations, etc.


 
Thread Tools Search this Thread
Top Forums Programming Counting characters, words, spaces, punctuations, etc.
# 1  
Old 03-05-2009
Counting characters, words, spaces, punctuations, etc.

I am very new to C programming.

How could I write a C program that could count the characters, words, spaces, and punctuations in a text file?

Any help will be really appreciated. I am doing this as part of my C learning exercise.

Thanks,

Ajay
# 2  
Old 03-05-2009
I hope this is not homework.

#include <ctype.h> defines the functions and macros you need.
isspace() spaces (include newlines)
ispunct() punctuation characters
isalnum() regular characters A-z a-z plus digits 0-9

1. open the file with fopen

2 use fgets to read a line

while you get a line of text
3. interate over all of the chacters you just read in - checking char types with those
functions
end while

4. close the file

5. use printf to display all of the results. word count per line == # of isspace() characters you find on the line, so it also equals the total words. This assumes only single spaces between characters. And no leading spaces on a line.
# 3  
Old 03-05-2009
If this is not homework then post here what you have tried to code so far...
# 4  
Old 03-06-2009
what i did so far....

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
string lineBuffer;
ifstream inMyStream ("c:/File.txt");
if (inMyStream.is_open()) {
int count = 1;
while (!inMyStream.eof() ){
getline (inMyStream, lineBuffer);
cout << count << lineBuffer << endl;
count++;
}
inMyStream.close();
}
else cout << "File Error: Open Failed";
return 0;
}

but, that is where i got stuck.
# 5  
Old 03-06-2009
/*use this to count words*/
#include <stdio.h>
#define IN 1 /* inside a word*/
#define OUT /*outside a word*/

int
main(void)
{
int nw, state;
state = OUT;
while((c= getchar()) != EOF){

/*think using something here for punctuations*/
/*for char count*/

if(c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT){
state = IN;
++nw;
}
}
return 0;
}

/*see it and try to implement otherway*/
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Counting specific words from the log

Hi, I need a shell script which can provide details from error logs like this Aug 23 21:19:41 red mountd: authenticated mount request from bl0110.bang.m pc.local:651 for /disk1/jobs (/disk1) Aug 23 08:49:52 red dhcpd: DHCPDISCOVER from 00:25:90:2b:cd:7c via eth0: unknown client Aug 24... (2 Replies)
Discussion started by: ratheeshp
2 Replies

2. Shell Programming and Scripting

Counting occurrence of all words in a file

Hi, Given below is the input file: http://i53.tinypic.com/2vmvzb8.png Given below is what the output file should look like: http://i53.tinypic.com/1e6lfq.png I know how to count the occurrence of 1 word from a file, but not all of them. Can someone help please? An explanation on the... (1 Reply)
Discussion started by: r4v3n
1 Replies

3. Shell Programming and Scripting

counting words with perl?

how to use perl to count number of lines, words characters in a file. (3 Replies)
Discussion started by: winter9
3 Replies

4. Shell Programming and Scripting

Help in counting the no of repeated words with count in a file

Hi Pls help in solving my doubt.Iam having file like below file1.txt priya jenny jenny priya raj radhika priya bharti bharti Output required: I need a output like count of repeated words with name for ex: priya 3 jenny 2 (4 Replies)
Discussion started by: bha148
4 Replies

5. Programming

Counting the words in a file

Please find the below program. It contains the purpose of the program itself. /* Program : Write a program to count the number of words in a given text file */ /* Date : 12-June-2010 */ # include <stdio.h> # include <stdlib.h> # include <string.h> int main( int argc, char *argv ) {... (6 Replies)
Discussion started by: ramkrix
6 Replies

6. Shell Programming and Scripting

Counting words

Hi Is there a way to count the no. of words in all files in directory. All are text files.I use wc -w but somehow i am not getting the rite answer. Is there an alternative. Thanks in advance (9 Replies)
Discussion started by: kinny
9 Replies

7. UNIX for Dummies Questions & Answers

counting words

if i have a long list of data, with every line beginning with an ip-address, like this: 62.165.8.187 - - "GET /bestandnaam.html HTTP/1.1" 200 5848 "http://www.domeinnaam.nl/bestandnaam.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" how do i count which ip-adresses are mentioned... (3 Replies)
Discussion started by: FOBoy
3 Replies

8. UNIX for Dummies Questions & Answers

counting words then amending to a file

i want to count the number of words in a file and then redirect this to a file echo 'total number of words=' wc -users>file THis isnt working, anyone any ideas. (1 Reply)
Discussion started by: iago
1 Replies

9. UNIX for Dummies Questions & Answers

Help needed counting spaces

I was wondereing if somebody could point me in the right direction - below is a small script I have put together to check that lines in a file I recieve are the correct length (371) and to output any incorrect lines to a .txt file. However when I run this it does not seem to count spaces as... (3 Replies)
Discussion started by: MarBergi
3 Replies

10. Shell Programming and Scripting

Counting words in a file

I'm trying to figure out a way to count the number of words in the follwing file: cal 2002 > file1 Is there anyway to do this without using wc but instead using the cut command? (1 Reply)
Discussion started by: r0mulus
1 Replies
Login or Register to Ask a Question