C語(yǔ)言刪除字符串中指定字符可以參考下面的代碼:
成都創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、行業(yè)門(mén)戶(hù)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類(lèi)型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹(shù)立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)近千家。
#includestdio.h
int main
{
char * fun(char * s);
char arg[] = "hello.cgi?name1=value1name2=value2";
printf("This value :%s\n",fun(arg));
getchar();
return 0;
}
char * fun(char * s)
{
char *s1 = s; //s1指向字符串首地址
while ((*s != '?') (*s != 0)) //字符不為結(jié)束符或者不為?,指向下一個(gè)字符
s++;
*s = 0; //將這個(gè)字符置為結(jié)束符
return s1;
};
擴(kuò)展資料:
C語(yǔ)言isupper()函數(shù):判斷一個(gè)字符是否是大寫(xiě)字母
C語(yǔ)言isspace()函數(shù):判斷一個(gè)字符是否是空白符
C語(yǔ)言isprint()函數(shù):判斷一個(gè)字符是否是可打印字符
C語(yǔ)言islower()函數(shù):判斷一個(gè)字符是否是小寫(xiě)字母
C語(yǔ)言ldexp()函數(shù):返回x乘以2的exponent次方(次冪)的值
C語(yǔ)言ldiv()函數(shù):求兩個(gè)數(shù)的商和余數(shù)(針對(duì)long類(lèi)型)
C語(yǔ)言ceil()函數(shù):求不小于x的最小整數(shù)(向上取整)
C語(yǔ)言floor()函數(shù):求不大于x的最大整數(shù)(向下取整)
double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成浮點(diǎn)數(shù)并返回這個(gè)浮點(diǎn)數(shù)
double atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整數(shù)并返回這個(gè)整數(shù)
參考資料來(lái)源:百度百科-C語(yǔ)言函數(shù)
參考資料來(lái)源:百度百科-c語(yǔ)言
假設(shè)這個(gè)一維字符串?dāng)?shù)組是str[80]----不一定是一維字符串?dāng)?shù)組,多維數(shù)組,結(jié)構(gòu)都可以。
方法1:使用運(yùn)行庫(kù)函數(shù)memset():
memset(str,
0,
sizeof(str));
方法2:使用Windows
API函數(shù)ZeroMemory():
ZeroMemory(str,
sizeof(str));
但不能用于指針。指針的情況下,必須這樣:
struct
mystr
{.......}
*p;
...
memset(p,
0,
sizeof(struct
mystr));
或:
ZeroMemory(p,
sizeof(struct
mystr));
一、問(wèn)題描述:從鍵盤(pán)輸入一個(gè)字符串給str和一個(gè)字符給c,刪除str中的所有字符c并輸出刪除后的字符串str。
1、輸入:第一行是一個(gè)字符串; 第二行是一個(gè)字符。
2、輸出:刪除指定字符后的字符串。
二、設(shè)計(jì)思路:
1、 同插入問(wèn)題,定義兩個(gè)字符數(shù)組a,b。以及標(biāo)志刪除位置的int型pos。
2、用gets函數(shù)輸入數(shù)組a的值,并利用for循環(huán)將數(shù)組a copy到 數(shù)組b。
3、利用for循環(huán),令pos位的數(shù)組b元素賦值到a。
三、實(shí)現(xiàn)代碼如下:
四、編譯并執(zhí)行,運(yùn)行結(jié)果如下:
擴(kuò)展資料
gets()函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤(pán))讀取字符串直到換行符結(jié)束,但換行符會(huì)被丟棄,然后在末尾添加'\0'字符。其調(diào)用格式為:gets(s),其中s為字符串變量(字符串?dāng)?shù)組名或字符串指針)。
gets()函數(shù)讀取到\n(我們輸入的回車(chē))于是停止讀取,但是它不會(huì)把\n包含到字符串里面去。然而,和它配合使用的puts函數(shù),卻在輸出字符串的時(shí)候自動(dòng)換行。
gets(s) 函數(shù)中的變量s為一字符串指針。如果為單個(gè)字符指針,編譯連接不會(huì)有錯(cuò)誤,但運(yùn)行后內(nèi)存溢出錯(cuò)誤。寬字符版本,當(dāng)使用unicode寬字符文本時(shí),使用這個(gè)函數(shù) _getws();在C11標(biāo)準(zhǔn)中被刪除,可用C標(biāo)準(zhǔn)庫(kù)中的fgets代替.
參考資料:百度百科 gets
c語(yǔ)言中書(shū)寫(xiě)刪除字符串中某個(gè)字符的程序的具體操作步驟如下:
1、編寫(xiě)頭函數(shù),包括“#include stdio.h.”與“#include string.h.“。
2、定義兩個(gè)相同容量的字符串儲(chǔ)存的變量?char a【100】;? char b【100】。以及整數(shù)變量?int c;int i=0,j=0;其中a[100]是存字符串的,b【100】是存你刪除對(duì)應(yīng)字符的字符串的,整數(shù)C是想刪除第幾位。j ,i 是后面for循壞中要使用到的變量。
3、編寫(xiě)printf(“請(qǐng)輸入你的字符串”);scanf(“%s”,a);printf(“請(qǐng)輸入你想要?jiǎng)h除第幾位字符”);scanf(“%d”,c)。
這幾行代碼主要是顯示界面,以及具體想要?jiǎng)h除什么字符串以及具體刪除第幾位字符使用的。
4、繼續(xù)編寫(xiě)for(i=0;istrlen(a);i++) ( if(i+1!=c){ ?b【j】=a【i】; j++;)( ? ? ? ? printf(" %s",b);)。
這幾行代碼邏輯語(yǔ)句是:只要當(dāng)i+1不等于c時(shí)把a(bǔ)【i】里面的字符賦給b【i】,那么這樣當(dāng)i+1=c時(shí)不把它賦給b【i】從而實(shí)現(xiàn)刪除功能。
5、程序編輯完畢,可以進(jìn)行刪除字符了。
#include?stdio.h
void?delchar(char?s[],char?c);
int?main(void)
{
char?s[80],c;
printf("Input?a?string:");
gets(s);
printf("Input?a?char:");
scanf("%c",c);
printf("After?deleted,the?string?is:");
delchar(s,c);
puts(s);
return?0;
}
void?delchar(char?s[],char?c)
{
for(int?i=0;s[i]!='\0';i++)
{
if(s[i]==c){
for(int?j=i;s[j]!='\0';j++)
s[j]=s[j+1];
i--;
}
}
}
請(qǐng)采納
當(dāng)前標(biāo)題:c語(yǔ)言中刪除字符函數(shù),c語(yǔ)言中的刪除函數(shù)
本文網(wǎng)址:http://www.rwnh.cn/article4/dsighoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、企業(yè)網(wǎng)站制作、定制開(kāi)發(fā)、品牌網(wǎng)站設(shè)計(jì)、域名注冊(cè)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)