C语言里如何将多个字符串数据合成一个数据?

2024-12-04 10:56:24
推荐回答(4个)
回答1:

主要有两种方法,一个是字符串连接操作strcat,另一个是格式化输出sprintf,主要代码如下,

//程序功能实现字符串合并
#include
#include
int main(int argc, char *argv[])
{
char name1[32]="456",name2[32]="123",name3[32]="789";
char NAME1[256]={'\0'},NAME2[256]={'\0'};
//字符串连接函数
strcat( NAME1,name2);
strcat( NAME1,name1);
strcat( NAME1,name3);
//格式化输出
sprintf(NAME2,"%s%s%s", name2, name1, name3);

printf("%s\n",NAME1);
printf("%s\n",NAME2);
return 0;
}

char *strcat( char *str1, const char *str2 );函数将字符串str2
连接到str1的末端,并返回指针str1。

int sprintf( char *buffer, const char *format, ... );sprintf和printf类似,
只是把输出发送到buffer缓冲区中,返回值是写入的字符数量。

回答2:

//将两个字符串合成一个字符串,在括号中填入适当的语句,编译
运行出正确的结果。
#include
#include
void
main()
{
char
s1[20],s2[30],s3[50];
int
i,j,lengths1,lengths2;
printf("string1:");
gets(s1);
printf("string2:");
scanf("%s\n",s2);
lengths1=strlen(s1);
lengths2=strlen(s2);
for(i=0;i
评论
0
0
加载更多

回答3:

sprintf就可以。
sprintf(NAME, "%s%s%s", name1, name2, name3);

回答4:

用库函数最简单……
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "string.h"
void main(void){
char name1[32]="456",name2[32]="123",name3[32]="789",NAME[256]="";
strcat(strcat(strcpy(NAME,name2),name1),name3);
printf("%s\n",NAME);
}