怎么用C\C++语言遍历中文字符

如何用C\C++语言遍历中文字符
大家好,我想问,如果用C\C++语言遍历中文字符串,
想遍历英文字符串一样:
char   *p= "abcdefgh ";p++,用p可以遍历整个字符串。

用什么样的方法能实现对中文字符串的遍历呢?
如果用unicode,wchar类型或者CString   改怎样用   ?
请给点代码,最好有什么资料也行!万分感谢!!!

------解决方案--------------------
#include <iostream>
#include <string>
using namespace std;


void main()
{
char *s = "五一节快乐 ";
char *p =s;
for(int i = 0; i <strlen(s);i = i+2)
{
p = s+i;
cout < <p < <endl;
}
}

------解决方案--------------------
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
//wchar_t str[]=L "这个是一个测试 ";
//char *p=(char *)str;
int i;
char *str= "这是一个测试 ";

for(i=0; i <strlen(str); i+=2)
{
printf( "%c%c ", str[i], str[i+1]); //每次输出两个 %c 即可
system( "pause ");
}
system( "pause ");
return 0;
}