Строка в С и является обычным массивом символов, отличающимся только тем, что после текста собственно строки (занесенных в этот массив символов) стоит нулевой байт.
Если еще актуально то как вариант решения - текст который нужно разбить посимвольно изначально записать с разделителем, например, с пробелом.
[THIDE="0"]
#include<iostream>
#include<string>
#include<sstream>
#include<algorithm>
int main(int argc, char **argv){
std::string text="H e l l o W o r l d !";
std::replace(text.begin(), text.end(), ' ', ' ');
std::istringstream is(text);
std::string word;
while (is >> word) std::cerr<<word<<std::endl;
return 0;
}[/THIDE]