就比如说我现在有个s[3]="**",然后我声明char *t="a s[2] b“,使得t指向的位置为字符串"a * b"?
先声明一个足够大空间的数组t,如:char t[10];
然后使用sprintf() 函数将一个字符串格式化输出到t数组中,
如:sprintf(t, "a %c b", s[2]);
这样t既是a * b
如果你用MFC,可以用CString的Format
http://www.cnblogs.com/mazhenyu/archive/2013/02/20/2918898.html
CString str;
char s[] = "*";
str.Format("a %s b", s);
如果你不用MFC,也可以自己拼接,用strcat
CString Format或者Mid Left Right拼接字符v串
用sprinf,sprinf("a %c b")
c/c++ 是不支持这样的定义的,不知道最新的 c/c++ 标准中有没有新增加这样的定义。
但对于字符串的定义来说,定义中是无法包含其它变量的。只有后续的字符串处理函数,才能完成这样的要求。
推荐snprintf,sprintf存隐患