c/c++ 如何在字符串里面加入变量?

就比如说我现在有个s[3]="**",然后我声明char *t="a s[2] b“,使得t指向的位置为字符串"a * b"?

c c++

7个回答

先声明一个足够大空间的数组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);

用sprinf,sprinf("a %c b")

c/c++ 是不支持这样的定义的,不知道最新的 c/c++ 标准中有没有新增加这样的定义。
但对于字符串的定义来说,定义中是无法包含其它变量的。只有后续的字符串处理函数,才能完成这样的要求。

Polarislee
北极猩猩 没错,C++不是JavaScript
接近 5 年之前 回复
u012618837
37334 懂了,谢谢啦
接近 5 年之前 回复

推荐snprintf,sprintf存隐患

CString Format或者Mid Left Right拼接字符v串

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!