C语言中字符串连接怎么解决??
可以使用字符串连接函数strcat()函数,头文件是#include<string.h>;
举例如下:
两个字符串char [100]="abc",b[50]="def";
将其变为一个字符串并输出
#include<stdio.h>
#include<string.h>
int main()
{
char a[100]="abc",b[50]="def";
strcat(a,b);
printf("%s\n",a);
}
拓展资料
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
#include<string.h>
char a[10]="123";
char b[10]="abc";
char c[20];
strcpy(c,a); //把串a复制到有足够空间的c中
strcat(c,b); //把b连接到c的串尾
扩展资料:
需要注意的事项
c的长度一定要能够容纳要转换的数字的长度,比如下面的例子,c的长度至少为8(“1234567”+“\0”)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
char a[20]="number:";
char c[10];
itoa(1234567,c,10);
strcat(a,c);
printf("%s\n",a);
}
这个时候用sprintf,而且不会因为C99问题而无法使用
#include <stdio.h>
void main()
{
char a[8]="0123";
char* b = "4567";
int d = 89;
char c[30]="会从第一个字符开始覆盖";
sprintf(c,"a是:%s,b是:%s,c是:%d",a,b,d);
printf("%s\n",c);
}
1.获得两个字符串的长度,相加,开辟一个长度为前面两个字符串长度和的数组;
2.将两个字符串中的值依次赋值到新的字符串中。
extern char *strcat(char *dest,char *src);
用法
#include <string.h>
功能
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
说明
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。
用法和楼上差不多 不过strcpy会覆盖前面的字符串,连接的话用strcat
void strcat(char str1,char str2)
{
int i,j;
for(i=0;str1[i]!=0;i++);
for(j=0;str2[j]!=0;j++)
{
str1[i]=str2[j];
i++;
}
str1[i]=0;
}
这是我写的,C的<string.h>库中有这个函数,我写这个函数是为了让你看清楚连接的原理。