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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言里如何将多个字符串数据合成一个数据?相关的知识,希望对你有一定的参考价值。

比如:
char name1[32],name2[32],name3[32],NAME[256];
name1是'456',
name2是'123',
name3是'789',
有什么办法让NAME是name2+name1+name3='123456789'

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

//程序功能实现字符串合并
#include <stdio.h>
#include <string.h>
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缓冲区中,返回值是写入的字符数量。
参考技术A //将两个字符串合成一个字符串,在括号中填入适当的语句,编译
运行出正确的结果。
#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
加载更多
参考技术B sprintf就可以。
sprintf(NAME, "%s%s%s", name1, name2, name3);本回答被提问者采纳
参考技术C 用库函数最简单……
//#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);

Matlab中怎样把两个字符串合并成一个字符串?

Matlab中怎样把两个字符串合并成一个字符串?

1、方法一:通过c=[a1,b1]格式拼接

第一步打开matlab的命令行窗口,输入a1='abcd123';b1='decf456';c=[a1,b1],按回车键,如下图所示:

2、第二步可以看到c='abcd123decf456',成功将两个字符串进行拼接起来了,如下图所示:

3、方法二:通过strcat函数进行拼接

第一步在命令行窗口中输入d=strcat(a1,b1),按回车键,如下图所示:

4、第二步可以看到d='abcd123decf456',实现了和方法一一样的效果,拼接了两个字符串,如下图所示:

5、方法三:通过sprintf函数拼接多个字符串

第一步输入a1='abcd123';b1='decf456';c1=123456;s=sprintf('%s%s%d',a1,b1,c1),按回车键,如下图所示:

6、第二步可以看到s='abcd123decf456123456',成功将多个字符串整型拼接起来了,如下图所示:

参考技术A

1. 用 strcat 函数连接两个字符串。

2.以下是相关字符串处理 
a='  a';b='b  b';c='cccc';m='' 
% 获取字符串长度 
length(a)     
% 连接两个字符串,每个字符串最右边的空格被裁切 
d=strcat(a,c)  
length(d) 
% 连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空格 
% 使与最长字符串相等,会忽略空字符串 
e=strvcat(a,b,m) 
size(e) 
% char连接,空字符串会被空格填满 
f=char(a,b,m) 
size(f)

% strcmp    比较两个字符串是否完全相等,是,返回真,否则,返回假 
% strncmp    比较两个字符串前n个字符是否相等,是,返回真,否则,返回假 
% strcmpi    比较两个字符串是否完全相等,忽略字母大小写 
% strncmpi   比较两个字符串前n个字符是否相等,忽略字母大小写

% isletter  检测字符串中每个字符时否属于英文字母 
% isspace    检测字符串中每个字符是否属于格式字符(空格,回车,制表,换行符等) 
% isstrprop  检测字符每一个字符是否属于指定的范围 
a='d sdsdsd 15#'; 
b=isletter(a) 
c=isspace(a)

% 字符串替换和查找   
% strrep 进行字符串替换,区分大小写 
%   strrep(str1,str2,str3) 
%      它把str1中所有的str2字串用str3来替换

% strfind(str,patten) 查找str中是否有pattern,返回出现位置,没有出现返回空数组 
% findstr(str1,str2)   查找str1和str2中,较短字符串在较长字符串中出现的位置,没有出现返回空数组 
% strmatch(patten,str) 检查patten是否和str最左侧部分一致 
% strtok(str,char)     返回str中由char指定的字符串前的部分和之后的部分, 
mm='youqwelcome'; 
[mm1,mm2]=strtok(mm,'q')

% blanks(n)            创建有n个空格组成的字符串 
% deblank(str)          裁切字符串的尾部空格 
% strtrim(str)          裁切字符串的开头和尾部的空格,制表,回车符

% lower(str)           将字符串中的字母转换成小写 
% upper(str)            将字符串中的字母转换成大写  
% sort(str)              按照字符的ASCII值对字符串排序

% num2str         将数字转换为数字字符串 
% str2num          将数字字符串转换为数字 
% mat2str          将数组转换成字符串 
% int2str          把数值数组转换为整数数字组成的字符数组

参考技术B strcat(str 1,str 2,……str n) 参考技术C strcat(str 1,str 2,……str n)本回答被提问者采纳

以上是关于C语言里如何将多个字符串数据合成一个数据?的主要内容,如果未能解决你的问题,请参考以下文章

c语言,如何将多种类型数据组成一个字符串

Matlab中怎样把两个字符串合并成一个字符串?

c语言如何合并两个字符串

在c语言或者php 怎么将两个或多个常量连接起来,比如一个常量为1 另一个常量为2 连接成12

R语言paste函数paste0函数将多个输入组合成字符串实战

C怎么逐个读取一个字符串数组里的数据