怎样在字符串中插入数字?
来源:百度知道 编辑:UC知道 时间:2024/06/24 09:53:43
答的好再加分
能给个粗略的代码吗?
三楼的兄弟,代码通过不了
sprintf(tmp, 512, "%.*s%d%s", idx, str, val, str+idx);
->
snprintf(tmp, 512, "%.*s%d%s", idx, str, val, str+idx);
没调试,省写了个n,抱歉...
刚试了,在gcc 3.*下编译通过.
--------------------------------------
/**
* str: 目标字符串
* idx: 插入位置(索引)
* val: 插入的数值
**/
char *insertNum(char str[], int idx, int val) {
char tmp[512]; /* 这里定义的临时缓存为512, 所以传入的str长度,加上val的长度不应大于511. */
snprintf(tmp, 512, "%.*s%d%s", idx, str, val, str+idx);
strcpy(str, tmp);
return str;
}
字符串不是用''的吧?
char newstr[30];
memset(newstr, 0, sizeof(newstr));
memcpy(newstr, str, 1);
sprintf(newstr+1, "%d%s", 2, str+1);
把数字转换为字符后,用连接函数连接起来
由于String有不可改变性,所以我们要解决这个问题就要用到StringBuffer,最后在转换成String,代码如下:
public class A {
static StringBuffer sb=new StringBuffer("abcdef");
public static void main(String[] args){
sb.insert(1,"2&quo