(c语言)拼接字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(c语言)拼接字符相关的知识,希望对你有一定的参考价值。
想要的效果类似:
char *str;
for(i;i<100;i++)
str += "abcd";
printf("%s",str);
请问这样的输出该如何实现啊? str 应该分配多少空间? += 的功能应该怎样实现?
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 <string.h>
int main()
char d[20]="字符串1"; //第一个字符串
char *s=" 字符串2"; //第二个字符串
strcat(d,s); //拼接两个字符串,结果保存在第一个字符串当中
printf("%s",d); //输出拼接结果:"字符串1字符串2"
getchar();
return 0;
参考技术A 在C环境下,你这样的愿望尚不能实现,但在C++环境下就不成问题了。
简单的办法是用类string。
当然,还可以定义一个类,其数据成员有字符串指针,和该字符串长度。成员函数有必要的构造函数和必须的析构函数,当然还有运算符+,=+等重载函数。 参考技术B 是要把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);本回答被提问者和网友采纳 参考技术C 你是想在str指向的字符数组元素后面,拼接字符吗?
R语言 字符串拼接
参考技术A paste (..., sep = " ", collapse = NULL)paste0(..., collapse = NULL)
两个参数: sep 字符串内的拼接符; collapse 字符串间的拼接符。 paste 与 paste0 的区别: paste0 参数 sep 默认为空字符, paste 的参数 sep 默认为空格。
str_c(..., sep = "", collapse = NULL)
参数:与paste一致,但对NA的处理方法不一致。
以上是关于(c语言)拼接字符的主要内容,如果未能解决你的问题,请参考以下文章
初学C语言,请教高手字符串拼接的问题。要求是将a与b拼接到c,a占前20位,b从第20位开始。我的代码如下: