(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 <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;
  

参考技术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语言怎样拼接两个宏定义的字符串

c语言数字拼接成字符串

初学C语言,请教高手字符串拼接的问题。要求是将a与b拼接到c,a占前20位,b从第20位开始。我的代码如下:

C语言如何实现把两个整型数字拼接起来仍然是整型数字

oc语言:已知有两个字符串,将两个字符串拼接在一起,并且用空号隔开.

C语言中实现字符串的拼接