C語言中如何用一個字符串替換一個主串中的子串 C語言怎么把一個字符串用另一個字符串替換
#include <string.h>
//oldstr原字符串, newstr新字符串, oldsubstr原字符串中要替換的子串, newsubstr新字符串中替換后的新子串
void replace(char *oldstr, char *newstr, char *oldsubstr, char *newsubstr)
{
int i, j;
int nLen = strlen(oldstr);
int nLenSub = strlen(oldsubstr);
for(i=0, j=0; i<nLen;)
{
if(0 == strncmp(oldstr+i, oldsubstr, nLenSub))
{
strcat(newstr+j, newsubstr);
j += strlen(newsubstr);
i += nLenSub;
}
else
{
newstr[j++] = oldstr[i++];
}
}
}
C 語言中如何將子函數(shù)里的字符串返回主函數(shù)?
首先要明白一點兒,C語言中字符串也是按一個一個字符存在""字符數(shù)組""中的哦! 用個數(shù)組作為隊列來存放 例如:int a[100] 將這個數(shù)組用在你要接收字符的函數(shù)里,將接收的字符按i遞增存放在a[]里 接收時用個for(i=0;i++;i<=100){ a[i]=接收字符 } 這樣a[0]里裝的是第一個接收字符,a[1...
...計算一個子串在一個字符串中出現(xiàn)的次數(shù),如果該子串不出現(xiàn)則為0...
=str1[i+j]) break; } if(j==str2len) count++; } return count;} int main(){ char a[200],b[200],*g; int c=0; printf("請輸入主串:"); gets(a); printf("請輸入子串:"); gets(b); c=find(...
c語言:編寫函數(shù),將一個字符串?dāng)?shù)組a中的元音字母復(fù)制到另外一個字符串b...
include <stdio.h> include <string.h> void fun(char a[], char b[]){ char* vs="aeiouAEIOU";int l,i,j,k;l=strlen(a);k=0;for(i=0;i<l;i++){ for(j=0;j<10;j++){ if(a[i]==vs[j]){ b[k++]=a[i];break;} } } b[k]='\\0';} int main(){ char a[...
利用C語言刪除字符串中所有指定的字符是什么意思?
利用C語言刪除字符串中所有指定的字符方法如下:1.基本方法是,編寫函數(shù)fun:deletechar()。這個函數(shù)需要接受兩個參數(shù)的傳入,一個為該字符串str,另一個為想刪除的字符c。通過對整個字符串的逐個遍歷,凡是檢測到字符為c,則刪除此字符。具體實現(xiàn)代碼如下:2.在主函數(shù),只需要接受用戶輸入的字符串,...
在主程序中輸入一個字符串調(diào)用函數(shù)StrReverse實現(xiàn)字符串的逆置?
for (i = 0, j = len - 1; i < j; i++, j--) { temp = str[i];str[i] = str[j];str[j] = temp;} return str;} 該程序中先在主函數(shù)中輸入一個字符串,然后調(diào)用名為StrReverse的函數(shù)對該字符串進(jìn)行逆置,最后輸出逆置后的字符串。函數(shù)StrReverse的實現(xiàn)使用了雙指針的方法,具體...
c語言寫一個函數(shù),該函數(shù)從主程序接受一個字符串,將字符串中數(shù)字和其他...
獨立程序完整代碼:include <stdio.h> include <string.h> include <stdlib.h> void seprate(const char *str,char *number,char *charactor){ while(*str){ if ((*str>='0')&&(*str<='9')) *number++=*str++;else *charactor++=*str++;} number=0;charactor=0;} int main(int argc...
C語言中怎樣交換兩個字符串 ?
在C語言中,要交換兩個字符串,可以使用標(biāo)準(zhǔn)庫函數(shù)strcpy。具體操作如下:1. 聲明一個字符指針c。2. 使用strcpy將字符串a(chǎn)的內(nèi)容復(fù)制到c中。3. 使用strcpy將字符串b的內(nèi)容復(fù)制到a中。4. 使用strcpy將c中的內(nèi)容復(fù)制到b中。這樣,字符串a(chǎn)和字符串b就實現(xiàn)了交換。若不使用庫函數(shù),可以自己編寫串拷貝...
C語言編程在主函數(shù)中輸入一個字符串利用函數(shù)求得字符串中大寫字母小寫字...
include <stdio.h>#include <ctype.h>int main(void){ char ch[100]; void count(char * p); printf("請輸入字符串 : "); gets(ch); count(ch); return 0;}void count(char * p){ int upp=0, low=0, digi=0, spa=0, oth=0; for (int i = 0; p[i]; ++i) { if ...
C語言編程:在一個指定的 字符串中刪除指定的 字符,并輸出該字符串。
include <stdio.h> include <string.h> int main(int argc, char **argv){ int num = 0;for (int i = 0; i <= strlen(argv[1]); i++)if (argv[1][i] != argv[2][0]){ argv[1][num] = (i == strlen(argv[1])) ? '\\0' : argv[1][i];num++;} printf("%s\\n...
c語言輸入一個以回車結(jié)束的字符串,將其中第一次出現(xiàn)的連續(xù)的數(shù)字字符轉(zhuǎn)...
include <stdio.h> void convert(char str[],int *dp){ sscanf(str,"%*[^0-9]%d",dp);} int main(){ char s[100];int d;scanf("%s",s);convert(s,&d);printf("%d",d);return 0;}
相關(guān)評說:
曹縣螺紋: ______ 挺簡單的呀,你用一個字符串讀入所有的字符,然后按照順序一個一個的判斷,字符是和整數(shù)通用的,有自己的asc值,比如a的asc值為097,然后對所有值為這個數(shù)的字符替換一下就好了,自己動手就解決了,要動手才有進(jìn)步!!!
曹縣螺紋: ______ BOOL strrep(char* strRes,char* from, char* to) { int i; BOOL flag = 0; char *p,*q,*ts; for(i = 0; strRes[i]; ++i) { if(strRes[i] == from[0]) { p = strRes + i; q = from; while(*q && (*p++ == *q++)); if(*q == '\0') { ts = (char *)malloc(strlen(strRes) + 1)...
曹縣螺紋: ______ 二樓好像沒理解題意,有時間我寫一個,但分?jǐn)?shù)也太少了吧?悲哀!/* 以下程序可以實現(xiàn)替換字符串中的字符串*/#include <stdio.h>#include <string.h> char * replace(char *str, char *str1, char *str2, char *strretu) { char *str_temp = str; char *str1_...
曹縣螺紋: ______ #include#include void main() { char ch[40],ch2[20],ch3[20],i,j,temp,x; printf("請輸入第一串字符:"); gets(ch); printf("請輸入第二串字符:"); gets(ch2); printf("請輸入插入的位置:"); scanf("%d",&i); temp = i; for(j=0;ch[temp] != '\0';j++,temp++) ch3[j] = ch[temp]; ch3[j]='\0'; for(j=0;j ch[i] = ch2[j]; strcat(ch,ch3); ch[i] = '\0'; puts(ch); }
曹縣螺紋: ______ #include#include#include int main() { char str[1000]; char *str1=NULL; char *str2=NULL; char strtemp[100]; char str3[100]; puts("請輸入初始字符串:"); gets(str); puts("請輸入要被替換掉的字符串:"); gets(strtemp); puts("請輸入要...
曹縣螺紋: ______ 分析: void copy_string(char *from, char *to); 這里可以看出參數(shù)1是源(數(shù)據(jù)提供者),參數(shù)2是目標(biāo)(數(shù)據(jù)接收者) copy_string(t,b);//從這句,可以看出,t是源,b是接收者 char *t=a;//這里,說明源是a數(shù)組 char *b="you are a student.";//這里看出,b是指針,指向一個常量串,(系統(tǒng)知識:常量字符串保存在系統(tǒng)的內(nèi)存中不可修改區(qū)域,稱之為靜態(tài)區(qū),只能讀數(shù)據(jù),不能向其中寫數(shù)據(jù)) 因此,你的程序會出問題.
曹縣螺紋: ______ 1、打開visual C++ 6.0-文件-新建-文件-C++ Source File. 2、定義變量:#include <stdio.h>void main(){ char c1,c2,c3; /*定義字符變量*/. 3、輸入一個字符:printf("輸入一個字符,使用getche函數(shù)接收\n"); /*提示用戶輸入一個字符*/...
曹縣螺紋: ______ 編譯環(huán)境vc2005/dev-c++#include#include#include#define N 10000 /* 設(shè)定文件最大字符個數(shù)不超過10000,可更改 */ int main() { int i=0,j,k=0,m=0,pos=0,max,len1,len2; char s[N],t[N],a[200],s1[200],s2[200]; FILE *fp; printf("Please input file name:\n...
曹縣螺紋: ______ /* 功能:查找替換函數(shù) 返回值:替換后的字符串 strretu */ char *Replace(char *str, char *str1, char *str2, char *strretu) { char *str_temp = str; //源字符串 char *str1_temp = str1; //要求替換的字符串 char *str2_temp = str2; //替換成字符串 char ...
曹縣螺紋: ______ #include int main() { char c1,c2; char str[20]; int i,flag=0; printf("請輸入c1:"); c1=getchar(); getchar(); printf("請輸入c2:"); c2=getchar(); getchar(); printf("請輸入字符串:"); gets(str); for(i=0;str[i]!='\0';i++) { if(str[i]==c1) { str[i]=c2; flag=...