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;} 加百列 一 問題描述 從鍵盤輸入一個字串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字串str。1 輸入 第一行是一個字串 第二行是一個字元。2 輸出 刪除指定字元後的字串。二 設計思路 1 同插入問題,定義兩個字元陣列a,b。以及標誌刪除位置的int型pos。2 用gets函式輸... 最愛塵涑 字串的話,你可以把他當作列表處理 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 ... 仵依風 的 後邊的東西全部置空,並保留 這個字元。如果樓主的使用的環境支援環視可以用這個 把 替換成空 如果沒有的話應給支援記憶分組吧也就是括號可以用這個 把 替換成 1 如果樓主使用的環境連記憶分組也沒有的話可以用這個 把 替換成 第二個匹配的比較精確而且效率相對較高。如果樓主是想把 號都去掉對於...c語言刪除字串中指定字元,C語言刪除字串中指定字元
python刪除字串中指定位置字元
如何使用正則替換指定位置的字元,將字串 測A測A測A測A」中第2,A都替換成B變成 測A測B測試B測A