char型の配列textにC言語のソースコードが入っているとします

char text[] = "#include <stdio.h> int main(int argc,char **argv) …";

このtextに入っている文字列を色分け(シンタックスハイライト)して画面に表示したいのですが、どうすればよいでしょうか?

正規表現で構文を解析して色分けすればよさそうなのですが、自分で実装するのは難しいです。
C++かC#用の構文解析・シンタックスハイライト用のモジュールってありませんか?
どなたか教えて下さい。よろしくお願いします。