c語言合並字元串
① c語言怎麼合並兩個字元串
代碼:
char str1="123";
char str2="abc";
strcat(str1,str2);
printf("%s",str1);
例如:
#include <stdio.h>
#include <string.h>
main()
{
char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";
strcat(strSor,strDes);//鏈接
puts(strDes);
puts(strSor);
}
(1)c語言合並字元串擴展閱讀:
字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
② c語言如何合並兩個字元串
如果是C語言,有一個函數是strcat
在函數庫string.h,功能就是合並字元串
例如:
#include<stdio.h>
#include<string.h>
chara[10]={"12"};
charb[10]={"bc"};
intmain()
{
strcat(a,b);
printf("%s ",a);
return0;
}
③ C語言里如何將多個字元串數據合成一個數據
主要有兩種方法,一個是字元串連接操作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緩沖區中,返回值是寫入的字元數量。
④ C語言:編寫一個函數,將兩個字元串合並到另一個字元串中
#include <stdio.h>
#include <string.h>
void catstring(char *str0, int len0, char *str1, int len1, char *str2, int len2)
{
if (len2 <= len0 + len1) {
return;
}
memcpy(str2, str0, len0);
memcpy(str2 + len0, str1, len1);
}
int main()
{
char str0[20] = "Golden";
char str1[20] = "View";
char str2[20] = { 0 };
catstring(str0, strlen(str0), str1, strlen(str1), str2, 20);
printf("str2 = %s\n", str2);
return 0;
}
請採納,謝謝!
⑤ 請問在C語言中如何合並多個字元串
用strcat(str1, str2)函數,它的功能是將str2連接在str1後面,當然前提是str1要足夠長,你可以兩個兩個的連接,在使用前要包含string.h頭文件。
⑥ C語言如何合並兩個字元串,不用庫里的函數
因為char *b = "123"";所指向的空間,是「常量區」,其中的內容是不允許改寫的。
所以,char *a = "DCY666"";要改成char a[20] = "DCY666"";字元數組並預留空間,可以增加字元串的內容。