#include
#include
#include
#include
#define maxn 50
#define ok 1
#define error 0
void creat(char *);///建立串
int getsubstr(char *,int ,int ,char *);///求子串
int delsubstr(char *,int ,int );///刪除子串
int inssubstr(char *,char *,int );///插入子串
int repstr(char *,char *,int );///置換子串
void print(char *s);///輸出串
void clear();///清屏
int main()
switch(choose)
else
puts("error");///操作失敗,提示使用者
break;
case 2:
printf("請輸入你需要建立的串:");
creat(str);///建立串
printf("主串如下:");
print(str);///輸出主串,提示使用者剛才的輸入
printf("請輸入要刪除的首位置和長度:");
scanf("%d%d",&start,&len);
if(delsubstr(str,start,len))///根據操作完的返回值進行判斷
else
puts("error");///提示使用者操作錯誤
break;
case 3:
printf("請輸入你需要建立的第乙個串:");
creat(str);///建立主串
printf("請輸入你需要建立的第二個串:");
creat(sub_str);///建立子串
printf("請輸入你要在插入第乙個串的位置:");
scanf("%d",&pos);
if(inssubstr(str,sub_str,pos))///操作後對返回值進行判斷
else
puts("error");///提示使用者操作錯誤
break;
case 4:
printf("請輸入你需要建立的第乙個串:");
creat(str);
printf("請輸入你需要建立的第二個串:");
creat(sub_str);
printf("請輸入你要在插入第乙個串的位置:");
scanf("%d",&pos);
if(repstr(str,sub_str,pos))///操作後對返回值進行判斷
else
puts("error");///操作失敗提示使用者
break;
default :printf("輸入錯誤,請重新輸入\n");break;
}clear();
}while(1);
return 0;
}///輸出串
void print(char *s)
///建立串
void creat(char *str)///建立子串,主要是用把之前輸入的串賦值到結構體裡,並把長度記錄下來
str[0]=i;///輸入完之後,i是它的長度,相應賦值到0的位置
}///求子串
int getsubstr(char *s,int start,int len,char *sub_str)
///刪除子串
int delsubstr(char *s,int start,int len)
///插入子串
int inssubstr(char *s,char *sub_str,int pos)
for(j=0,i=pos+sub_str[0];j=s[0])///如果pos的位置已經大於等於主串的長度那就沒法銜接過去了
return error;///操作失敗返回error
for(j=1,i=pos;j<=sub_str[0];i++,j++)///替換操作,直接把進行覆蓋就行了
*(s+i)=*(sub_str+j);///pos+子串的長度之後字元乙個乙個賦值到pos+1,+2.....就實現了替換
return ok;///操作成功返回ok
}///清屏
void clear()
C語言位操作中指定的某一位數置0 置1 取反
一 指定的某一位數置1 巨集 define setbit x,y x 1 二 指定的某一位數置0 巨集 define clrbit x,y x 1 三 指定的某一位數取反 巨集 define reversebit x,y x 1 三 獲取的某一位的值 巨集 define getbit x,y x y...
8bit資料的指定位的置0或者置1操作
要求 實現對乙個8bit資料 unsigned char 型別 的指定位 例如第n位 的置0或者置1操作,並保持其他位不變。分析 首先我們需要定義position來找出第n位,用flag決定置1還是置0,如果需要置1,只需將1左移position 1相或p data 如果需要置0,只需將1左移pos...
串的基本操作
include include include include define maxn 50 define ok 1 define error 0 typedef struct strnode snode void creat snode char 建立串 int getsubstr snode i...