c語言字元串合並-ag真人国际官网
㈠ c語言怎麼合並兩個字元串
代碼:
char str1="123";
char str2="abc";
strcat(str1,str2);
printf("%s",str1);
例如:
#include
#include
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函數。
1、strcat()函數 ,即string catenate的縮寫
原型:extern char *strcat(char *dest,char *src);
用法:#include
功能:把src所指字元串添加到dest結尾處(覆蓋dest結尾處的'')並添加''。
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。
返回指向dest的指針。
2、舉例:
#include
#include
intmain(){
chard[20]="字元串1";//第一個字元串
char*s="字元串2";//第二個字元串
strcat(d,s);//拼接兩個字元串,結果保存在第一個字元串當中
printf("%s",d);//輸出拼接結果:"字元串1字元串2"
getchar();
return0;
}
㈢ c語言如何合並兩個字元串,不用庫里的函數
因為char *b = "123"";所指向的空間,是「常量區」,其中的內容是不允許改寫的。
所以,char *a = "dcy666"";要改成char a[20] = "dcy666"";字元數組並預留空間,可以增加字元串的內容。
㈣ c語言中如何將兩個字元串加在一起
可以使用string.h頭文件中的strcat函數 char *a="123"; char *b = "abc"; strcat(a,b)即可,更多的字元串操作可以看一下string.h頭文件中 有好多封好的, 如果不想用的話就可以自己寫一個函數
函數內容:1.獲取兩個字元串的總長度,如total_len=len1 len2然後申請一個動態的數組大小為total_len 然後把字元串中的內容依次放進去就可以了。
㈤ c語言中,合並兩個字元串為一個新的字元串,確保在新字元串中,兩個字元串的所有字元僅出現一次
#include
#include
int main(){
char s1[]="happy";
char s2[]="newyear";
char s3[999];
int i,j,c,m=0;
s3[m]=s1[0];m ;
for (j=1;s1[j]!='\0';j ){
c=0;
for (i=0;i
}
for (j=0;s2[j]!='\0';j ){
c=0;
for (i=0;i
}
s3[m]='\0';
printf ("%s",s3);
return 0;
}
輸出: hapynewyr
----
單個字元比較 用: if (s3[i]==s1[j]) 則相同;else 則不同;
㈥ c語言:編寫一個函數,將兩個字元串合並到另一個字元串中
#include
#include
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語言字元串提取與合成問題
按要求,將原字元串拆分成兩個字元串分別單獨保存。
思路:
一、兩個指針分別指向數組第一項和第二項,對應偶數項和奇數項,之後指針同時循環 2取值保存在對應數組。
二、拼接字元串直接使用字元串函數strcat。(不想使用庫函數,也可循環賦值)。
#include
#include
#define m 20 //數組最大長度
int splitstr(char str[],char ostr[],char estr[]);//拆分str到ostr和estr
int main()
{
char str[m 1],ostr[m 1],estr[m 1];//str為原字元串,ostr為奇數字元串,estr為偶數字元串
printf("請輸入一個字元串(最大%d個字元):",m);
scanf("%s",str);
splitstr(str,ostr,estr);
printf("其中奇數項組成的字元串為:%s ",ostr);
printf("其中偶數項組成的字元串為:%s ",estr);
strcat(estr,ostr);//將偶數組和奇數組組合後放在偶數組中
printf("將偶數組和奇數組組合後新數組為%s ",estr);
return 0;
}
int splitstr(char str[],char ostr[],char estr[])
{
int i=0,j=0;
char *op=str 1,*ep=str;//op指向奇數項,ep指向偶數項,循環 2取值
while(1)
{
if(*ep==0) break;
if(*ep) estr[i ]=*ep;
if(*ep && *op) ostr[j ]=*op;
if(*op==0) break;
ep =2,op =2;
}
estr[i]=0,ostr[j]=0;
return 1;
}
㈧ c語言里如何將多個字元串數據合成一個數據
主要有兩種方法,一個是字元串連接操作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緩沖區中,返回值是寫入的字元數量。