// 统计单词.cpp : 定义控制台应用程序的入口点。
//time:2013.9.22
//author:tiance
//function:implements Statistical words count
#include "stdafx.h"
#include <process.h>
#include <iostream>
using namespace std;
typedef enum
{
INIT_STATE = 1,
WORD_STATE,
SPACE_STATE,
};
int Get_words_count(char *pStr)
{
if (pStr==NULL)
{
return 0;
}
int count=0;
int State=INIT_STATE;
char l_Value;
while(l_Value=*pStr++)
{
switch(State)
{
case INIT_STATE:
{
if (' '!=l_Value)
{
count++;
State=WORD_STATE;
}
if('\0'==l_Value)
{
return count;
}
if (' '==l_Value)
{
State=SPACE_STATE;
}
break;
}
case WORD_STATE:
{
if('\0'==l_Value)
{
return count;
}
if (' '==l_Value)
{
State=SPACE_STATE;
}
break;
}
case SPACE_STATE:
{
if (' '!=l_Value)
{
count++;
State=WORD_STATE;
}
if('\0'==l_Value)
{
return count;
}
break;
}
}
}
return count;
}
int _tmain(int argc, _TCHAR* argv[])
{
int ret=Get_words_count("hello tiance ,welcome to china");
cout<<"count of words:--------->";
cout<<ret<<endl;
system("pause");
return 0;
}
Res: http://blog.csdn.net/feixiaoxing/article/details/6871294