Fonction C++ pour compter tous les mots dans une chaîne de caractères

M'a demandé ce, lors d'une interview et apparemment, c'est une question facile, mais il n'était pas et n'est toujours pas évident pour moi.

Donné une chaîne de caractères, nombre de tous les mots. N'a pas d'importance si elles sont répétées. Juste le nombre total comme dans un des fichiers de texte nombre de mots. Les mots sont loin d'être séparés par un espace et ponctuation n'a pas d'importance, tant que c'est une partie d'un mot.

Par exemple:
A very, very, very, very, very big dog ate my homework!!!! ==> 11 words

Mon "algorithme" juste passe par la recherche d'espaces et en incrémentant un compteur jusqu'à ce que je frappe un null. Depuis je n'ai pas eu le job, et a demandé de quitter les lieux après que je suppose que Ma solution n'était pas bonne? Quelqu'un a un de plus intelligent solution? Ai-je raté quelque chose?

"jusqu'à ce que je frappe un nul" - comment sont les valeurs null spéciaux dans une chaîne de caractères en C++?
Bien repéré. Je n'ai pas joindre les points.
Par les réponses données ci-dessous, il semble que plus le contexte est vraiment nécessaire. Certaines industries ont recours à la "modernité" de C++, de trouver que le coût de l'utilisation de la STL et boost fait plus de place pour les gains de productivité. D'autres industries préfèrent utiliser une C-comme la version de C++, de sorte qu'il y a une correspondance directe de lignes de code d'instructions du processeur. L'avenir des réponses à des questions le long de ces lignes serait bien servi à déterminer au moins de l'industrie, le candidat postule.
Vous avez contexte autant que je fais. L'intervieweur n'a pas été très coopérative et de ne pas avoir beaucoup de commentaires quand j'ai demandé si il était à la recherche de quelque chose d'intelligent ou tout simplement à la force brute. Tandis que Martin a donné un mauvais âne réponse ci-dessous et fantastique description, j'ai vraiment eu le sentiment de l'interviewer que c'était juste un test pour voir si je pouvais coder quelque chose de "de base". Mais encore une fois je n'ai pas profiter de l'offre, de sorte que sais-je...

OriginalL'auteur eviljack | 2010-09-08