C語言程式設計 將指定位置的字元刪除

時間 2022-03-08 15:25:13

1樓:

#include

#include

int main()

{int i,j,k=0;

char a[10]="z*g**hg*";

char b[10];

for(i=0;i

給你改好了,自己對比著看下

2樓:國安冠軍

#include #include char* delcharfromstring(char *str, int len, int pos);void main()char* delcharfromstring(char *str, int len, int pos) for(i=0; i= pos) tmp++; } *tmp = '\0'; return str;}

滿意請採納。

3樓:八千漢字

刪除末尾的話

#include

#include

int main()

void del(char *str)

4樓:匿名使用者

你的k沒有賦值 前面寫k=0

這個我看懂了點你在做什麼,就是先找到*,看看* 是否到結尾都是*,不是退出再迴圈是就結束

但是我就奇怪了,為什麼不能從結尾開始查,直到查到不是『*』位置啊

輸入乙個字串,將指定位置的字元刪除。(要簡單點的,急求答案,在把每句的意思解釋一下,c語言題

5樓:

#include

#include

void main()

6樓:

#include

void delchar(char *s,char c)printf("\n");

}void main()

c語言程式設計題:如何從檔案的任意位置刪除一段指定長度的字串?

7樓:13孤島

c語言是無法在刪除檔案(因為它要排序)指定行資料的,追加資料除外因為不影響排序,只有讀取檔案資料重新編測然後再寫回檔案。一般文字編測器都是這樣:讀取資料——修改資料——刪除原檔案——重新建立檔案——寫入檔案儲存起來。

8樓:匿名使用者

fd_set 將指標指向檔案任意位置,然後把檔案中需要的部分讀寫到另乙個檔案中,是不可以在檔案中刪除的

9樓:風若遠去何人留

有以下兩種方法可以使用:

第一種:

1 以讀方式開啟檔案;

2 將檔案讀到記憶體;

3 關閉檔案;

4 以寫方式開啟檔案;

5 將原始資料寫回檔案,寫的時候,跳過要刪除的字串。

第二種:

當檔案比較大時,全部讀入記憶體會有可能放不下。這時可以按照以下步驟:

1 將原始檔案備份成備份檔案,可以通過copy或者系統複製命令實現;

2 以寫方式開啟原檔案;

3 以讀方式開啟備份檔案;

4 依次讀備份檔案,並寫入原檔案,讀的時候跳過要刪除的部分。可以讀後拋棄,也可以使用fseek函式實現;

5 關閉兩個檔案;

6 刪除備份檔案。

10樓:我只想曬月亮

法1是呼叫庫函式strtok的方式.

法2是自編寫的通過重新賦值的方式.(指標較多,稍複雜)

c語言程式設計 由鍵盤任意輸入乙個字串和任乙個字元,要求從該字串中刪除所指定的字元

11樓:鷹弈

#include

int main(void)

}str[j] = '\0';

printf("%s\n", str);

return 0;}

c語言編寫乙個程式,實現查詢乙個字串中的特定字元,並將其刪除.

12樓:老馮文庫

一、演算法描述

逐個比較字串source中的字元,若當前i位置的字元等於待刪除字元ch,則i+1..len-1之間的子串整體前移;如此反覆,直到所有待刪除字元都找到並被刪除為止。

二、操作過程

三、參考程式

#include

#include

/* 移除字串source中的所有ch字元 */void remove(char *source, char ch);

void main()

/* 移除字串source中的所有ch字元 */void remove(char *source, char ch)source[j-1] = '\0';}}}四、執行測試

請輸入乙個字串:how are you?

請輸入待刪除字元:o

新的字串:hw are yu?

13樓:

char chr[5] = "abccd";

char chr1[1] = "c";

int j=0;

for(int i =0;i<5;i++)char chrnew[j];

int m=0;

for(int k =0 ; k<5;k++)此時獲得的chrnew就是新的刪除之後的字串了基本型別中不支援刪除操作,所以實際上就是乙個新的字串。

14樓:幫個忙好不

#include

#include

main()

for(j=pos;j

a[strlen(a)-1]='\0';

printf("%s\n",a);

printf("退出輸入0,繼續輸入1:\n");

scanf("%d",&y);

if(y==1)

scanf("%c",&ch);

if(y==0)

break;}

15樓:

挑出其中需要的字元存回來就行了

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

void delchar(char *str,char m)int len=strlen(str);

int i,j=0;

char *p=(char *)malloc(len*sizeof(char));

memset(p,0,len);

for(i=0;iif(*(str+i)!=m)*(p+j++)=*(str+i);

memset(str,0,len);

strncpy(str,p,strlen(p));

free(p);

int main()

char str[100]=;

char del;

scanf("%s %c",str,&del);

delchar(str,del);

puts(str);結果:

16樓:匿名使用者

這個比較簡單,先strchr查詢下,然後memmov就可以了

17樓:默痕

不知道樓主問題是否解決,我最近也在學習這部分知識,遇到了這道題,這是我的**,希望能幫助到大家。如果有錯,還望大家指出並海涵。

c語言程式中 從字串s中刪除指定的字元c.

18樓:

可以正確執行,不過你要注意,輸入只能輸入13個字元,不然就錯的,而且只能刪乙個字元,

因為你寫的有點小問題:

修改一下:

#include

#include

#include

void squeeze(char s,char c)這樣的話更有通用性:

19樓:匿名使用者

沒有用函式,

#include

void main()

20樓:逐夢兮樂

#include

#include

#include

char fun(char *str, char a)len2 = strlen(str1);

for (i = 0; i < len2; i++)str[i] = str1[i];

}int main()

祝你愉快!

c語言程式設計:在乙個指定的 字串中刪除指定的 字元,並輸出該字串。

21樓:

宣告乙個字元陣列str存入輸入的字串,再宣告乙個字元變數接收要刪除的字元。分別用i和j源字元陣列計數和目標字元陣列計數,然後開始對str進行自己向自己連同最後的'\0'逐字元複製;當遇到要刪除的字元時目標計數j暫停一次計數,這樣要刪除的字元就會被下乙個非刪除字元覆蓋。最後就達到了刪除指定字元的目的。

//#include "stdafx.h"//if the vc++6.0, with this line.

#include "stdio.h"

int main(void)

22樓:手機使用者

用for迴圈中的continue功能吧,當遇到指定字元是直接跳過進入下乙個迴圈,具體的我想你應該會寫吧,因為我手機寫程式設計的話比較麻煩,所以就不寫了…如果有其他人寫了的話樓主就把分給他吧…

23樓:灰姑娘的霸氣

#include #include char* delcharfromstring(char *str, int len, int pos); void main() char* delcharfromstring(char *str, int len, int pos) for(i=0; i= pos) tmp++; } *tmp = '\0'; return str;}

24樓:匿名使用者

樣例輸入

sdf$$$sdf$$

$樣例輸出

sdfsdf

是要這種效果吧

附上**

#include

int main()

}printf("\n");

return 0;}

c語言刪除字串中指定字元,C語言刪除字串中指定字元

加百列 一 問題描述 從鍵盤輸入一個字串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字串str。1 輸入 第一行是一個字串 第二行是一個字元。2 輸出 刪除指定字元後的字串。二 設計思路 1 同插入問題,定義兩個字元陣列a,b。以及標誌刪除位置的int型pos。2 用gets函式輸...

python刪除字串中指定位置字元

最愛塵涑 字串的話,你可以把他當作列表處理 str hello world 如果是想去掉第乙個字母 o 並且知道是第5個字元,index 41.使用分片 new str str 4 str 5 2.迴圈讀取new str join str i for i in range len str if i ...

如何使用正則替換指定位置的字元,將字串 測A測A測A測A」中第2,A都替換成B變成 測A測B測試B測A

仵依風 的 後邊的東西全部置空,並保留 這個字元。如果樓主的使用的環境支援環視可以用這個 把 替換成空 如果沒有的話應給支援記憶分組吧也就是括號可以用這個 把 替換成 1 如果樓主使用的環境連記憶分組也沒有的話可以用這個 把 替換成 第二個匹配的比較精確而且效率相對較高。如果樓主是想把 號都去掉對於...