(c语言)拼接字符
想要的效果类似:char*str;for(i;i<100;i++){str+="abcd";}printf("%s",str);请问这样的输出该如何实现啊?str应该分配...
想要的效果类似:
char *str;
for(i;i<100;i++){
str += "abcd";
}
printf("%s",str);
请问这样的输出该如何实现啊? str 应该分配多少空间? += 的功能应该怎样实现? 展开
char *str;
for(i;i<100;i++){
str += "abcd";
}
printf("%s",str);
请问这样的输出该如何实现啊? str 应该分配多少空间? += 的功能应该怎样实现? 展开
4个回答
展开全部
C语言中拼接字符串可以使用strcat函数。
1、strcat()函数 ,即string catenate的缩写
原型:extern char *strcat(char *dest,char *src);
用法:#include <string.h>
功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
2、举例:
#include <stdio.h>
#include <string.h>
int main(){
char d[20]="字符串1"; //第一个字符串
char *s=" 字符串2"; //第二个字符串
strcat(d,s); //拼接两个字符串,结果保存在第一个字符串当中
printf("%s",d); //输出拼接结果:"字符串1字符串2"
getchar();
return 0;
}
展开全部
在C环境下,你这样的愿望尚不能实现,但在C++环境下就不成问题了。
简单的办法是用类string。
当然,还可以定义一个类,其数据成员有字符串指针,和该字符串长度。成员函数有必要的构造函数和必须的析构函数,当然还有运算符+,=+等重载函数。
简单的办法是用类string。
当然,还可以定义一个类,其数据成员有字符串指针,和该字符串长度。成员函数有必要的构造函数和必须的析构函数,当然还有运算符+,=+等重载函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是要把100个"abcd"拼接在一起吧。
char *temp="abcd";
char *str;
int i;
str=(char *)malloc(100*strlen(temp)+1);
strcpy(str,temp);
for(i=1;i<100;i++)
strcat(str,temp);
printf("%s",str);
char *temp="abcd";
char *str;
int i;
str=(char *)malloc(100*strlen(temp)+1);
strcpy(str,temp);
for(i=1;i<100;i++)
strcat(str,temp);
printf("%s",str);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是想在str指向的字符数组元素后面,拼接字符吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询