當前位置:首頁 » 編程語言 » c語言字元串添加
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言字元串添加

發布時間: 2022-02-08 04:43:43

A. c語言中怎樣才能在指定位置插入字元串

利用string的一些函數來實現,演算法簡單明了,已經講過驗證,你可以直接復制粘貼
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;

void main(){

string s1="beijing";
int pos=s1.find('j');
string s2="123";
s1.insert(s1.begin()+pos,s2.begin(),s2.end());
cout<<s1<<endl;
}

B. C語言 在字元串的某個位置插入一個字元 在線等 挺急的

因為你a_i輸入的是字元,它的ASCII碼比較大,轉成int就比較大了,你把要比較的兩個數用printf列印出來就知道了

C. C語言 如何實現在字元串的內部增加字元串。

#include "stdafx.h"
#include "conio.h"

char *myfun(char *strA, char *strB, char strC)//strA用戶數據,strB返回數據, strC插入字元
{

int m = 0;
if (strA == NULL)
return NULL;
int n = strlen(strA);

for (int i=0; i<n; i++)
{
strB[m]=strA[i];
if (strA[i]>= 0x30 && strA[i]<= 0x39 )
{
strB[m+1] = strC;
m += 1;
}
m += 1;
}
strB[m] = '\0';
return strB;
}

main()
{

char p[] = "2m1f3d2de4wer5";
int k = strlen(p);
char *buff = (char *)malloc(k*2+1);
char *p1 = myfun(p, buff, 's');
printf("%s\n", p1);
free(buff);

}

D. C語言字元串變數添加數據

chars[]="Morning!";
chara[50];
strcpy(a,"Good");
strcat(a,s);//此時a所指向的字元串就是GoodMorning!

E. C語言字元插入

#include<stdio.h>
#include<string.h>
#defineN100
voidinsertChar(chars[],charc)
{
intn,i,j;
for(i=0;s[i]!='';i++)
{
if(s[i]>='0'&&s[i]<='9')
{
n=strlen(s);
s[n+1]='';
for(j=n;j>i+1;j--)
{
s[j]=s[j-1];
}
s[i+1]=c;
}
}
}

intmain(intargc,char*argv[])
{
charstr[N];
gets(str);
insertChar(str,getchar());
puts(str);
return0;
}

#include<stdio.h>
#include<string.h>
#defineN100
voidinsertChar(chars[],charc)
{
intn,i,j;
for(i=0;s[i]!='';i++)
{
if(s[i]>='0'&&s[i]<='9')
{
n=strlen(s);//計算字元串長度,不包括''
for(j=n;j>i;j--)
{
s[j+1]=s[j];//以s[i]為界限,將s[i+1]至結尾後移
}
s[i+1]=c;
}
}
}

intmain(intargc,char*argv[])
{
charstr[N];
gets(str);//非常危險的函數,從鍵盤輸入一字元串,以回車結束,並將回車替換為''
insertChar(str,getchar());
puts(str);
return0;
}

F. c語言輸入一個字元串,如何在指定位置插入一個字元

也許用鏈表比較好實現,下面是用數組實現的程序:


#include<stdio.h>


#include<string.h>


main()


{ int i,j,k,m,n;


char a[100],b[100],c;


gets(a);


gets(b);


c=getchar();


m=strlen(a);


for(i=0;i<m;i++)


{if(a[i]==c)<br/> break;<br/> }


if(i>=m)


{printf("出錯! ");<br/> return;<br/> }


n=strlen(b);


k=m;


for(j=m+n;j>i;j--,k--)


a[j]=a[k];


for(j=i,k=0;j<n+i;j++,k++)


a[j]=b[k];


printf("%s ",a);


}

G. C語言在字元串的指定位置插入字元

Description:把字元串截取成2段,將指定字元插入,讓你將它們再連接。
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[256],s1[256],s2[256];
char ch;
int i,j=0,k=0;
printf("輸入字元串:\n");
gets(str);
printf("輸入要插入的字元和位置:\n");
scanf("%c%d",ch,n);
for(i=0;i<n-1;i++)
{
s1[j++]=str[i];
}
s1[j]=ch;//插入指定字元
for(j=i;j<strlen(str);j++)
{
s2[k++]=str[j];
}
strcat(s1,s2);
puts(s2);
return 0;
}

H. c語言中如何將一字元串插入另一個字元串中

#include<stdio.h>
void main()
{
void insert(char a[],char b[],int t);
char a[100],b[100];
int t,i,j;
printf("input a string:\n");
gets(a);
printf("inut b string:\n");
gets(b);
printf("input the position to insert:\n");
scanf("%d",&t);
if(t<=0 || t>strlen(a)+1)
{
printf("wrong!.input again");
scanf("%d",&t);
}
insert(a,b,t);
}

void insert(char a[],char b[],int t)
{
int len1,len2;
int i,j,k,l;
char c[100];
len1=strlen(a);
len2=strlen(b);
for(i=0;i<t-1;i++)
c[i]=a[i];
for(j=0;j<len2;j++)
c[i+j]=b[j];
l=0;
for(k=t-1;k<len1;k++)
{
c[i+j+l]=a[k];
l++;
}
c[i+j+l]='\0';
puts(c);
}
另外,站長團上有產品團購,便宜有保證

I. C語言中,如何在一字元串中插入字元

c[5]只有5個空間無法完全容納字元串"hello",因為這個字元串需要佔用6個字元位置。
所謂自動加'\0'的問題是:你寫在雙引號中的,編譯程序會認為是字元串,會自動為你添加上一個字元串結尾符號0,而不是運行時添加的。
如果你用debug方式運行程序,調試環境自動會把你開設的char
a[5];進行初始化0的工作,這時你再將第1位初始化時,後面的0仍存在就好象字元串結尾已經存在了。如果非debug運行則沒有這個初始化工作。
如果你用字元方式初始化應當寫:char
c[6]={
'h','e','l','l','o','\0'
};
希望對你能有所幫助。