C语言删除一个字符串的一部分
来源:互联网 发布:行政转行会计 知乎 编辑:程序博客网 时间:2024/06/06 02:57
//01 请编写函数。删除字符串的一部分。函数原型如下:
//
//int del_substr(char *str, const char *substr);
//函数首先判断substr是否出现在str中,如果并未出现,函数就返回0;如果出现,函数应该把str中该字符串后面的所有字符串赋值到该字符串位置,
//从而删除这个字符串,然后函数返回1。如果substr多次出现在str中,函数只删除第1次出现的字符串。
//
//a.函数中不使用任何操作字符串的函数.(如:strcpy、strcmp等)
#include<stdio.h>
#include<stdlib.h>
int mystrlen(char *p)
{
int length = 0;
while (*p != '\0')
{
length++;
p++;
}
return length;
}
//下标法实现strstr函数
char *mystrstr(const char * Moth_Str, const char * Sub_Str){
if (Moth_Str == NULL || Sub_Str == NULL)
{
return NULL;
}
char *pos = NULL;
int alllength = mystrlen(Moth_Str);
int sublength = mystrlen(Sub_Str);
for (int i = 0; i < alllength - sublength; i++)
{
int flag = 1;
for (int j = 0; j < sublength; j++)
{
if (Sub_Str[j] != Moth_Str[i + j])
{
flag = 0;
break;
}
}
if (flag)
{
pos =Moth_Str + i;
return pos;
}
}
return pos;
}
char *mystrcpy(char *p1, const char *p2)
{
if (p1 == NULL || p2 == NULL)
{
return NULL;
}
char *p = p1;
while (*p1++ = *p2++);
return p;
}
int del_substr(char *str, const char *substr)
{
if (str == NULL || substr == NULL)
{
return NULL;
}
char *pos = NULL;
if ((pos = mystrstr(str, substr)) == NULL)
{
return 0;
}
mystrcpy(pos, pos + mystrlen(substr), mystrlen(pos + mystrlen(substr)) + 1);
return 1;
}
void main()
{
char allstr[100] = "123456789 hello china hello c hello cpp hello tianchao";
char str[10] = "hello";
del_substr(allstr, str);
printf("%s", allstr);
system("pause");
}
0 0
- C语言删除一个字符串的一部分
- 删除一个字符串的一部分
- 删除一个字符串的一部分
- 删除一个字符串的一部分_02
- 删除字符串的一部分
- 编写一个字符串删除一个字符串的一部分
- 请编写一个函数,删除一个字符串的一部分。
- 编写一个函数,删除一个字符串的一部分
- 请编写函数,删除一个字符串的一部分。
- C语言打印字符串的一部分的方法
- c语言---输入一个字符串,删除其中的某一个字符
- 删除一个字符串中的数字(C语言)
- 6-2 请编写一个函数,删除一个字符串的一部分。
- 【小程序】请编写一个函数,删除一个字符串的一部分
- c语言 删除字符串
- c语言中字符串空格的删除
- C语言删除一个字符串中的多余空格字符
- 删除字符串的一部分(不使用操纵字…
- NumPy实用简略教程
- linux驱动开发:MT协议
- spring学习总结(六):IOC & DI 配置Bean之作用域、加载外部属性文件、SPEL
- DataGrip使用入门-安装及数据源管理(一)
- add-apt-repository PPA
- C语言删除一个字符串的一部分
- 常见总结
- AtomicIntegerFieldUpdater
- 针对SSH文件传输协议,用jsch上传图片
- c#FileStream文件读写(转)
- 第二章 学习OpenCV——OpenCV入门
- 【codeforces 681B】【优化循环】Economy Game
- 在服务器上排除问题的头五分钟
- Android Studio系列-签名打包