请教怎么把char 变量的值加到char *p的字符串后面呢

请问如何把char 变量的值加到char *p的字符串后面呢?
FILE   *fp;
char   c;
char   *p;
fp   =   fopen( "c:\\test.dat ",   "r ");
     
while(fscanf(fp, "%c ",&c)!=EOF)
    {
在此处将文件中的字符一个一个的读出来,然后放到char   *p的字符串中,最后把字符串输入出来。
    }
// cout < <p;
    fclose   (fp);


我用strcat不行,因为strcat需要第二个参数是const   char
还有如何把char   连到string类型字符串的后面呢?谢谢


------解决方案--------------------
打错了,中间那行不要了:
string s;
while(fscanf(fp, "%c ",&c)!=EOF)
{
s += c;
}
------解决方案--------------------
这段代码既用了FILE指针、fopen(),又用了cout、string,令人感到疑惑,到底是C还是C++?
如果是C++,建议用文件流来操作文件。
至于把char加在string后面,
string str = "aaa ";
char c = 'z ';
cout < < str + c;
就可以了。
原理我不太确定,可能类似于java中System.out.print()时,String类型后面加任何类型都转化为String类型。